sqlite是一个非常方便好用的嵌入式数据库,没有独立的进程,随着应用程序的进程一起启动。
它可以选择是内存数据库还是硬盘数据库,通常在内存中进行数据方面的 *** 作比硬盘上的 *** 作快几个数量级。
在特定环境下,可以先在内存中 *** 作数据库,然后再将数据持久化到硬盘上。
具体代码如下:
#enCoding=utf-8import sqlite3import StringIOdef query(db,sql): cur = db.cursor() cur.execute(sql) for row in cur: print row cur.close()def execute_sql(db,sql): cur = db.cursor() cur.execute(sql) cur.close() db.commit()if __name__=='__main__': #use memory database db = sqlite3.connect(':memory:') sql1 = "create table tb_memory(ID integer primary key,name text)" sql2 = "insert into tb_memory(name) values('aaaaaaaaaaaaaaa')" sql3 = "insert into tb_memory(name) values('bbbbbbbbbbbbbbb')" sql4 = "insert into tb_memory(name) values('ccccccccccccccc')" sql5 = "select * from tb_memory" execute_sql(db,sql1) execute_sql(db,sql2) execute_sql(db,sql3) execute_sql(db,sql4) query(db,sql5) print '---------------------------------------------' buffer = StringIO.StringIO() for line in db.iterdump(): buffer.write(line) db.close() #execute sql script;write into disk database db1 = sqlite3.connect("test.db") cursor = db1.cursor() cursor.executescript(buffer.getvalue()) cursor.close() db1.close()总结
以上是内存溢出为你收集整理的SQLite内存数据库与硬盘数据库全部内容,希望文章能够帮你解决SQLite内存数据库与硬盘数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)