我知道我应该在处理TEXT类型的数据时使用它(我猜那些回落到TEXT类型的数据),但这是唯一的情况吗?
的例子:
UPDATE names SET name='Mike' WHERE id=3
我正在用c++写一个SQL查询自动生成,所以我想确保当我必须添加引号时不会遗漏大小写。
单引号('
)表示文本数据,如您所指出的(例如,在您的示例中'Mike'
)。数值数据(例如,在您的示例中3
),对象(表,列等)名称和语法元素(例如,update
, set
, where
)不应该用引号括起来。
单引号是字符串的分隔符。它让解析器知道字符串从哪里开始,在哪里结束,以及它是一个字符串。你会发现有时候你也可以用双引号。
确保没有遗漏任何大小写的唯一方法是转义输入,否则当在文本中以某种方式结束单个引号时,这很容易被滥用。