为什么MYSQL中字符串有时要加双引号,有时不要?

哦,是的,是的,你说的情况我也遇到过。
使用反引号是最标准的,专门用于标识字段名,并且符合SQL标准。

但是你说你可以使用单引号 ' ' 或双引号 " "...我对此有点不确定。
之前在一个老项目中见过双引号的使用,当时的环境比较奇怪。
也许当时的版本或者配置有点特殊? 一般情况下,单引号主要用在字符串值中,比如'name'。

反引号是最安全、最推荐的,并且永远不会与系统关键字冲突。
在您的 select date from table; 示例中,不添加反引号确实会导致问题,因为 MySQL 会将日期视为函数或关键字。

总而言之,我站在反引号一边。
字段名称中使用双引号和单引号。
我一般不会这样做,因为担心发生意外。

mysql+php程序中sql语句中的引号使用方法,什么时候用双引号什么时候用单引号

说白了,在PHP中处理字符串和变量时,双引号和单引号的作用是不同的。
其实很简单,双引号会解析变量,但单引号不会。
在我们去年做的一个项目中,有一个处理用户输入的场景。
当时我们用双引号来包裹变量,却发现输出不正确。
一开始我以为我们写错了SQL语句,后来发现是错误的。
问题出在双引号上。
还有另一个关键细节。
例如,如果SQL语句中存在单引号,我们必须使用双引号来包裹整个SQL字符串,否则会出现错误。

例如SQL语句是这样的: select from table where user = 'abc'; 如果直接写为 SQL = "select from table where user = '$user'"; 会有问题。
正确的做法是 SQL = "select from table where user = '$user'"; 或 SQL =“从用户='的表中选择”。
$用户。
“'”;。
后者将用户输入 $user 用双引号括起来以避免解析错误。

等等,还有一件事,如果您直接在单引号内插入变量,例如 SQL1 = "select from table where user = '" 。
$用户。
"'";,这会导致SQL语句被分割,因为单引号内的内容被视为字符串。
因此,切记单引号和双引号之间不要加空格,否则会变成两个字符串串联起来。

我认为值得一试。
实际编码时要多注意引号的使用,以避免此类错误。

强势推荐!SQL 语句单引号、双引号的用法

单引号将字符串和日期括起来。
双引号定义标识符。
这些数字没有被引用。
其他 DBMS 规则有所不同。
MySQL 引用默认的双字符串。
Oracle/PostgreSQL 双引号标识符。
每个字符串都包含第一个字符串键。
不要混用,遵循DBMS的规则。
立即使用。

MySQL中单引号,双引号和反引号的区别

说实话,单引号和反引号在MySQL中的使用确实是不一样的。
您会看到,像“图书 ID”这样的单个文本值必须用单引号引起来。
但就像CREATETABLEbook里的书一样,必须使用反引号,否则会出现问题。

单引号专门用于括起文本值。
如果条件包含文本,例如搜索“小明”,则需要单引号。
数字、日期等数字字段根本不需要引号。

背刺主要用于标识符。
特别是那些与 SQL 保留字同名的,例如与 SELECT 和 UPDATE 相同的表名或列名,必须用反引号括起来,以避免混淆。

双引号的使用方式与单引号相同,但是在不同的数据库中可能会有所不同。
对于MySQL中的VARCHAR字段,可以使用单引号或双引号。

甲骨文则不同。
除了表示大小写字母之外,双引号还有特殊用途。
如果你在Oracle中创建一个名为USER的表,然后输入SELECTFROMUSER;,你肯定找不到数据,因为USER是保留字。
默认情况下,Oracle 使用全部大写的字段名称。
使用双引号可以避免这种大小写转换并确保搜索正确。

无论如何,请记住,在 MySQL 中,单引号括起文本,反斜杠括起标识符。
Oracle双引号更有用。