Sqlite-在Python中使用反引号(`)或双引号(“)

发布于 2021-01-29 17:25:22

我在Stack Overflow中看到了一个与Android有关的类似问题,但是我想知道是否应该使用反引号(`)或双引号(“)-使用Python-
选择表名或rowid或您拥有什么。

我试过单引号-这样select 'rowid', * from 'tbl' order by 'rowid'。单引号在某些情况下有效,但并非全部。我学会了使用双引号或反引号,而我在查看时SQLite Database Browser发现它使用了反引号。

我真的很想在Python中用双引号引起来,因为我来自Java,因此很自然cursor.execute("select 'rowid',* from 'table';"),而且反引号也很容易(双引号需要反斜杠,并使查询看起来很漂亮)。有点混乱)。但是,我只是想确保反引号是可移植的(Windows,Linux,Os
x等所有版本)。

关注者
0
被浏览
138
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    SQL标准说,字符串必须使用'single quotes',并且标识符(例如表名和列名)在加引号时必须使用"double quotes"

    为了与MySQL兼容,SQLite还允许对标识符使用单引号,对字符串使用双引号,但仅在上下文使含义明确时才使用。(在中SELECT 'rowid' ...,允许使用字符串,因此可以得到字符串。)如果可能,请始终使用标准SQL引号。

    为了与MySQL兼容,SQLite还允许backticks使用标识符。

    为了与Microsft数据库兼容,SQLite还允许[brackets]使用标识符。

    (这适用于所有SQLite版本。)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看