小巧、快速、可靠。
三选其二。
SQLite 关键字

SQL 标准规定了大量的关键字,这些关键字不能用作表、索引、列、数据库、用户定义函数、排序规则、虚拟表模块或任何其他命名对象的名称。关键字列表很长,以至于很少有人能记住所有关键字。对于大多数 SQL 代码,最安全的做法是永远不要使用任何英语单词作为用户定义对象的名称。

如果你想将关键字用作名称,则需要将其引用。在 SQLite 中引用关键字有四种方法。

'关键字' 单引号中的关键字是字符串字面量。
"关键字" 双引号中的关键字是标识符。
[关键字] 方括号括起来的关键字是标识符。这不是标准 SQL。这种引用机制由 MS Access 和 SQL Server 使用,并且包含在 SQLite 中以实现兼容性。
`关键字` 反引号(ASCII 代码 96)括起来的关键字是标识符。这不是标准 SQL。这种引用机制由 MySQL 使用,并且包含在 SQLite 中以实现兼容性。

为了在遇到历史 SQL 语句时保持弹性,SQLite 有时会稍微修改上面的引用规则。

提醒程序员不要使用前面两条要点中描述的两种例外情况。我们强调,它们的存在仅仅是为了使旧的和格式错误的 SQL 语句能够正确运行。未来版本的 SQLite 可能会抛出错误,而不是接受上述例外情况所涵盖的格式错误的语句。

SQLite 在引入新功能时会不时添加新的关键字。因此,为了防止你的代码因未来的增强而被破坏,你通常应该引用任何是英语单词的标识符,即使你不必这样做。

下面的列表显示了任何 SQLite 构建中使用的所有可能的关键字,无论编译时选项如何。大多数合理的配置使用大多数或所有这些关键字,但在禁用 SQL 语言功能时,某些关键字可能会被省略。应用程序可以使用 sqlite3_keyword_count()sqlite3_keyword_name()sqlite3_keyword_check() 接口来确定 SQLite 在运行时识别的关键字。无论编译时配置如何,任何不在以下 147 个元素列表中的标识符对 SQLite 中的 SQL 解析器来说都不是关键字。

此页面最后修改于 2022-11-26 14:56:19 UTC