字符串文字和标识符之间的区别

时间:2014-11-14 16:21:08

标签: python sqlite

字符串文字和标识符之间有什么区别?我试着谷歌搜索并最终变得更加困惑

特别感兴趣的是Python的差异,以及SQLite的差异

来自SQLite文档

'keyword'       A keyword in single quotes is a string literal.
"keyword"       A keyword in double-quotes is an identifier.

参考文档 https://docs.python.org/3/reference/lexical_analysis.html#identifiers https://www.sqlite.org/lang_keywords.html

2 个答案:

答案 0 :(得分:3)

标识符是变量名称。在下面的python行中

foo = "bar"

foo是标识符,“bar”是字符串文字。在Python中,字符串文本可以用简单的('')或双(")引号括起来。

在SQLite中(更常见的是在SQL中),字符串文字用单引号括起来。双引号用于强制包含其他特殊字符的字符串被解释为标识符。

假设表foobar

的示例
SELECT bar as "Bar", 'zz' as OTHER from foo;

在此选择中,第一列的名称为Bar。如果没有",则名称将为bar,因为SQL通常不区分大小写。第二列是常量zz,列名称是other

对于非英语语言,"对于éè等重音字符也很有用。

答案 1 :(得分:0)

在Python中都有'关键字'和"关键字"只是字符串文字,没有区别。

在SQLite中,如果你想使用SQLite关键字(不是Python关键字)作为字符串文字(所以是字符串的值),你应该使用''。如果要将其用作SQLite标识符,例如表名,你必须使用""。