0

编写 MySQL 选择查询的正确方法是什么,例如

SELECT * FROM table users WHERE status = 1 AND salary = 2000.00

或者

SELECT * FROM table users WHERE status = '1' AND salary = '2000.00'
  1. 当我引用整数或小数时,它应该有引号吗?
  2. 他们在 phpMyAdmin 中使用的这个引号字符是有什么特殊用途还是只是装饰性的东西?
4

4 回答 4

1
  1. 如果列是 INTEGER,则不必在整数周围加上引号。MySQL 明白这一点。然而,如果你这样做并不重要:MySQL 可以自动在数据类型之间转换,并且这种转换的额外成本可以忽略不计。(与例如在具有不同数据类型的列上连接两个表时不同,其中需要对数百万行进行转换 - 这很昂贵)。

  2. phpMyAdmin 在模式/表/列名称周围放置反引号 ` 以避免混淆。例如,一个名为的表my.table需要这些反引号才能访问,否则 MySQL 不知道是否my是模式和table表名。

    由于这个确切的原因my.table,表名的选择是不明智的——某个地方的某个人一定会犯错。

于 2012-04-18T07:31:09.253 回答
0

取决于数据类型salary。如果它按应有的方式存储,那么没有引号就可以了。

否则(糟糕的设计或其他)引号是必要的,以避免隐式转换(这是不好的)。

于 2012-04-18T07:30:18.370 回答
0

如果列的数据类型是 char 或 varchar 那么你应该使用引号让 MySQL 明白它是字符类型。对于整数、数字,无需使用引号。如果薪水是数字类型,则不需要引号。

于 2012-04-18T07:34:56.050 回答
-1

仅当值不是数字时才需要引号,因此对于字符串、日期等,您需要引用。

并且 phpmyadmin 添加了反引号,以便像我妈妈这样的用户一直添加它们来打扰我

于 2012-04-18T07:48:34.300 回答