#encoding=utf-8 # 甄碼農代碼 2012 03 06 # 打開sqlite3內存數據庫,執行操做,將內存數據庫保存到文件 import sqlite3 import StringIO #使用:memory:標識打開的是內存數據庫 con = sqlite3.connect(":memory:") cur = con.cursor() #使用executescript能夠執行多個腳本 cur.executescript(""" create table quotes( rid INTEGER PRIMARY KEY AUTOINCREMENT, code char(10) NOT NULL, high real, open real, low real, close real, amount real, volume real)""") #execute執行腳本,參數要放到元組中 cur.execute('insert into quotes(code,high,open,low,close,amount,volume) values(?,?,?,?,?,?,?)', ('600036',12.0,11.8,11.7,11.9,999999,8999)) #打印數據表數據 cur.execute("select * from quotes") print cur.fetchall() #生成內存數據庫腳本 str_buffer = StringIO.StringIO() #con.itrdump() dump all sqls for line in con.iterdump(): str_buffer.write('%s\n' % line) #關閉內存數據庫 cur.close() #打開文件數據庫 con_file = sqlite3.connect('quotes.db3') cur_file = con_file.cursor() #執行內存數據庫腳本 cur_file.executescript(str_buffer.getvalue()) #關閉文件數據庫 cur_file.close()