我一直在阅读关于SQLite的Python官方文档,并在其他博客上阅读了一些教程。
我发现了一些我无法理解的东西。
代码段1
import sqlite3
con = sqlite3.connect("chijioke.db")
cur= con.cursor()
cur.executescript("""
create table book(
title,
author,
published
);
insert into book(title, author, published)
values (
'Dirk Gently''s Holistic Detective Agency',
'Douglas Adams',
1987
);
""")
con.commit()
con.close()
代码段2
import sqlite3
con = sqlite3.connect("chijioke.db")
cur = con.cursor()
cur.executescript("""
DROP TABLE IF EXISTS book;
CREATE TABLE book(
title,
author,
published
);
INSERT INTO book VALUES (
'Dirk Gently''s Holistic Detective Agency',
'Douglas Adams',
1987
);
""")
con.commit()
con.close()
当我运行两个代码片段时,我没有错误。
据我所知,SQL语句是大写的,但代码片段1没有遵循该规则,但没有错误。
另外,代码片段1包含了insert语句中每列的名称。
我想知道为什么所有这些更改以及哪些代码段更适合使用pyphonic。
我还要感谢任何其他帮助。
答案 0 :(得分:0)
SQL通常不区分大小写。您可以使用insert
或INSERT
或InSeRt
,无论您喜欢什么。为清楚起见,我建议使用大写字母。在Sqlite中,表名称区分大小写,但列名称不区分大小写。另外,像@JNevill评论的那样,我建议在INSERT语句中键入列名以防止将来出现错误,尽管在这个脚本中很明显列是什么,并且没有机会将列添加到表中的某个位置这条线。