博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【sqlite】python备份数据库
阅读量:6359 次
发布时间:2019-06-23

本文共 1407 字,大约阅读时间需要 4 分钟。

备份整个数据库的方法:

# coding=utf-8import sqlite3def testBakSqlite():    conn = sqlite3.connect("sqlite_db_mine/testDB.db")    with open('testDB.sql.bak','w') as f:        for line in conn.iterdump():            data = line + '\n'            data = data.encode("utf-8")            f.write(data)    testBakSqlite()

 

 

如果想要备份其中的一个表,没有很好的办法。下面是一些网上的讨论。

You can copy only the single table in an in memory db:

import sqlite3def getTableDump(db_file, table_to_dump):    conn = sqlite3.connect(':memory:')        cu = conn.cursor()    cu.execute("attach database '" + db_file + "' as attached_db")    cu.execute("select sql from attached_db.sqlite_master "               "where type='table' and name='" + table_to_dump + "'")    sql_create_table = cu.fetchone()[0]    cu.execute(sql_create_table);    cu.execute("insert into " + table_to_dump +               " select * from attached_db." + table_to_dump)    conn.commit()    cu.execute("detach database attached_db")    return "\n".join(conn.iterdump())TABLE_TO_DUMP = 'table_to_dump'DB_FILE = 'db_file'print getTableDump(DB_FILE, TABLE_TO_DUMP)

Pro: Simplicity and reliability: you don't have to re-write any library method, and you are more assured that the code is compatible with future versions of the sqlite3 module.

Con: You need to load the whole table in memory, which may or may not be a big deal depending on how big the table is, and how much memory is available.

转载地址:http://cubma.baihongyu.com/

你可能感兴趣的文章
WebSocket跨域问题解决
查看>>
世界经济论坛发布关于区块链网络安全的报告
查看>>
巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态
查看>>
Ubuntu 16.04安装Nginx
查看>>
从 JS 编译原理到作用域(链)及闭包
查看>>
flutter 教程(一)flutter介绍
查看>>
CSS面试题目及答案
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
查看>>
Spring自定义注解从入门到精通
查看>>
笔记本触摸板滑动事件导致连滑的解决方式
查看>>
Runtime 学习:消息传递
查看>>
你了解BFC吗?
查看>>
linux ssh tunnel使用
查看>>
十、详解FFplay音视频同步
查看>>
自定义元素探秘及构建可复用组件最佳实践
查看>>
小猿圈Python教程之全面解析@property的使用
查看>>
mpvue开发小程序所遇问题及h5转化方案
查看>>
View和Activity的生命周期
查看>>
Throwable是一个怎样的类?
查看>>
三条代码 搞定 python 生成验证码
查看>>