何时在 SQL 语句中使用单引号?

When to use single quotes in an SQL statement?

我知道我在处理 TEXT 类型的数据时应该使用它(我猜是那些回落到 TEXT 的数据),但这是唯一的情况吗?

示例:

UPDATE names SET name='Mike' WHERE id=3

我正在用 C++ 编写 SQL 查询自动生成,所以我想确保在必须添加引号时不会遗漏大小写。

单引号 (') 表示文本数据,如您所指出的(例如,'Mike' 在您的示例中)。数值数据(例如,您示例中的 3)、对象(table、列等)名称和句法元素(例如,updatesetwhere) 不应包含在引号中。

单引号是字符串的分隔符。它让解析器知道字符串从哪里开始,在哪里结束,以及它是一个字符串。您会发现有时您也可以使用双引号。

确保您不会遗漏任何情况的唯一方法是对输入进行转义,否则当单引号以某种方式出现在文本中时,这很容易被滥用。