与 Tony 一起编程中解释的准备好的语句将参数放在 SQL 字符串之外。
所以我的问题是:
- MySQL 中的小写大写有多重要?(选择 v 选择;AND v 和)
- “反引号”去掉名字有多重要?(SELECT 'name' FROM 'table' WHERE variable = :variable) [我不知道如何在此处添加反引号]
- 我应该将整数/数字作为字符串输入吗?
与 Tony 一起编程中解释的准备好的语句将参数放在 SQL 字符串之外。
所以我的问题是:
1.- MySQL 中小写大写有多重要?(选择 v 选择;AND v 和)
SQL 命令不区分大小写。将它们大写是一种常见的做法,这样它们更容易被发现,但这不是强制性的。
2.-“反引号”去掉名字有多重要?(从“表”中选择“名称”WHERE 变量 =:变量)
当对象名称为保留字或包含特殊字符(如空格)时,您必须对其进行转义。否则,它完全是可选的。
反引号语法仅适用于 MySQL。其他数据库使用双引号或方括号。
[我不知道如何在这里添加反引号]
使用“代码示例”工具栏按钮:
3.- 我应该将整数/数字作为字符串输入吗?
如果这样做,MySQL 将不得不将它们转换为数字。您不会注意到性能损失,但没有特定理由使用字符串。它与在 PHP 中这样做一样多余:
echo "$name";
此外,您的编辑器的语法高亮不会区分数字:
回答
是的,您可以同时使用这两种情况(大写,小写)。
当您使用 mysql 的一些保留字作为列名时,您必须使用反引号。
是的,您可以将整数/数字作为字符串放入。
MySQL 中的小写大写有多重要?(选择 v 选择;AND v 和)
使用大写字母很重要,但仅出于可读性目的。
“反引号”去掉名字有多重要?
这取决于。
对于硬编码的标识符,它们是可选的,但对于动态标识符,它们是强制性的,因为您不知道将传递哪个值。当然,您还必须通过将反引号加倍来逃避传递值内的反引号。
我应该将整数/数字作为字符串输入吗?
这取决于。
一般来说没有区别。
如果您使用带有动态绑定的丑陋mysqli,将所有变量绑定为“s”会更容易。
但是在使用 PDO 时,必须小心将 LIMIT 参数设置为字符串 - 模拟模式下的 PDO 会破坏 SQL。