字符串文字和标识符之间有什么区别?我试着谷歌搜索并最终变得更加困惑
特别感兴趣的是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
答案 0 :(得分:3)
标识符是变量名称。在下面的python行中
foo = "bar"
foo
是标识符,“bar”是字符串文字。在Python中,字符串文本可以用简单的('
')或双("
)引号括起来。
在SQLite中(更常见的是在SQL中),字符串文字用单引号括起来。双引号用于强制包含其他特殊字符的字符串被解释为标识符。
假设表foo
列bar
:
SELECT bar as "Bar", 'zz' as OTHER from foo;
在此选择中,第一列的名称为Bar
。如果没有"
,则名称将为bar
,因为SQL通常不区分大小写。第二列是常量zz
,列名称是other
。
对于非英语语言,"
对于éè
等重音字符也很有用。
答案 1 :(得分:0)
在Python中都有'关键字'和"关键字"只是字符串文字,没有区别。
在SQLite中,如果你想使用SQLite关键字(不是Python关键字)作为字符串文字(所以是字符串的值),你应该使用''。如果要将其用作SQLite标识符,例如表名,你必须使用""。