无法执行'.read create.sql'

时间:2011-09-09 17:32:32

标签: python sqlite

这可能是一个明显的错误,但我正在尝试使用我已创建的脚本在python中创建数据库。

conn = sqlite3.connect('testDB')
c = conn.cursor()
c.execute('.read create.sql')

这会产生错误“sqlite3.OperationalError:near”。“:语法错误”

如果我在sqlite3 cmd行做同样的事情,它可以正常工作

[me@myPC ~]$ sqlite3 testDB
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> .read create.sql 
sqlite> 

似乎任何以a开头的命令。给我一些问题。

2 个答案:

答案 0 :(得分:3)

只需将文件内容传递给.execute方法:

conn = sqlite3.connect('testDB')
c = conn.cursor()
SQL = open('create.sql').read()
c.executescript(SQL)

答案 1 :(得分:2)

我认为以.开头的命令是针对CLI客户端本身的,而不是针对后端的。

所以你没有机会这样做,并且必须自己进行文件读取和执行查询,即在Python中。