带Python的Sqlite3 - 从外部文件查询

时间:2014-05-08 09:44:26

标签: python python-2.7 sqlite

我想通过外部文件创建我的数据库,如:

database = "../data/cm4payroll.db"
query = "../data/emdb.sql"
# Datenbankverbindung herstellen
self.connection = sqlite3.connect(self.database)
self.cursor = self.connection.cursor()
# Datenbank erstellen
self.cursor.execute(self.query)

回溯:

    self.cursor.execute(self.query)
sqlite3.OperationalError: near ".": syntax error

1 个答案:

答案 0 :(得分:2)

您需要阅读文件内容,然后将其传递给cursor.executescript()

self.connection = sqlite3.connect(self.database)
self.cursor = self.connection.cursor()
with open(self.query) as queryfile:
    self.cursor.executescript(queryfile.read())

您的错误显示您尝试将文件名作为SQL语句执行; cursor.execute()只能 处理实际的SQL字符串,而不是文件名。