簡體   English   中英

Python和sqlite3 - 導入和導出數據庫

[英]Python and sqlite3 - importing and exporting databases

我正在嘗試編寫一個腳本來導入數據庫文件。 我編寫了腳本來導出文件,如下所示:

import sqlite3

con = sqlite3.connect('../sqlite.db')
with open('../dump.sql', 'w') as f:
    for line in con.iterdump():
        f.write('%s\n' % line)

現在我希望能夠導入該數據庫。 我試過了 :

import sqlite3

con = sqlite3.connect('../sqlite.db')
f = open('../dump.sql','r')
str = f.read()
con.execute(str)

但我不允許執行多個聲明。 有沒有辦法讓它直接運行SQL腳本?

sql = f.read() # watch out for built-in `str`
cur.executescript(sql)

文檔

嘗試使用

con.executescript(str)

文檔

Connection.executescript(sql_script)
    This is a nonstandard shortcut that creates an intermediate cursor object
    by calling the cursor method, then calls the cursor’s executescript
    method with the parameters given.

或者先創建光標

import sqlite3

con = sqlite3.connect('../sqlite.db')
f = open('../dump.sql','r')
str = f.read()
cur = con.cursor()
cur.execute(str)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM