编写 MySQL 选择查询的正确方法是什么,例如
SELECT * FROM table users WHERE status = 1 AND salary = 2000.00
或者
SELECT * FROM table users WHERE status = '1' AND salary = '2000.00'
- 当我引用整数或小数时,它应该有引号吗?
- 他们在 phpMyAdmin 中使用的这个引号字符是有什么特殊用途还是只是装饰性的东西?
如果列是 INTEGER,则不必在整数周围加上引号。MySQL 明白这一点。然而,如果你这样做并不重要:MySQL 可以自动在数据类型之间转换,并且这种转换的额外成本可以忽略不计。(与例如在具有不同数据类型的列上连接两个表时不同,其中需要对数百万行进行转换 - 这很昂贵)。
phpMyAdmin 在模式/表/列名称周围放置反引号 ` 以避免混淆。例如,一个名为的表my.table
需要这些反引号才能访问,否则 MySQL 不知道是否my
是模式和table
表名。
由于这个确切的原因my.table
,表名的选择是不明智的——某个地方的某个人一定会犯错。
取决于数据类型salary
。如果它按应有的方式存储,那么没有引号就可以了。
否则(糟糕的设计或其他)引号是必要的,以避免隐式转换(这是不好的)。
如果列的数据类型是 char 或 varchar 那么你应该使用引号让 MySQL 明白它是字符类型。对于整数、数字,无需使用引号。如果薪水是数字类型,则不需要引号。
仅当值不是数字时才需要引号,因此对于字符串、日期等,您需要引用。
并且 phpmyadmin 添加了反引号,以便像我妈妈这样的用户一直添加它们来打扰我