阅读量:2
要使用SQLite3数据库进行数据备份,您可以使用sqlite3命令行工具或编写一个简单的Python脚本来完成。这里有两种方法:
方法1:使用sqlite3命令行工具
-
打开命令行终端(在Windows上是命令提示符或PowerShell,在macOS和Linux上是终端)。
-
使用
sqlite3命令连接到源数据库文件(例如:source_db.sqlite3):
sqlite3 source_db.sqlite3
- 在SQLite命令行中,使用
.backup命令创建一个新的数据库文件(例如:backup_db.sqlite3):
.backup backup_db.sqlite3
- 输入
.exit退出SQLite命令行工具。
现在,您已经成功地将源数据库备份到了backup_db.sqlite3文件中。
方法2:使用Python脚本
-
首先,确保您已经安装了Python。
-
创建一个名为
backup_sqlite3.py的Python脚本文件。 -
将以下代码复制到
backup_sqlite3.py文件中:
import sqlite3
import sys
import os
def backup_sqlite3(source_db, target_db):
conn = sqlite3.connect(source_db)
cursor = conn.cursor()
cursor.execute("PRAGMA database_list")
result = cursor.fetchall()
if len(result) > 0:
for item in result:
if item[1] == 'main':
main_db = item[0]
break
else:
print("Error: Unable to find the main database.")
sys.exit(1)
conn.close()
backup_conn = sqlite3.connect(target_db)
backup_cursor = backup_conn.cursor()
backup_cursor.execute(f"CREATE TABLE IF NOT EXISTS {main_db} AS SELECT * FROM {main_db};")
backup_conn.commit()
backup_conn.close()
print(f"Backup of {source_db} to {target_db} completed successfully.")
if __name__ == "__main__":
if len(sys.argv) != 3:
print("Usage: python backup_sqlite3.py " )
sys.exit(1)
source_db = sys.argv[1]
target_db = sys.argv[2]
if not os.path.isfile(source_db):
print(f"Error: Source database file {source_db} does not exist.")
sys.exit(1)
backup_sqlite3(source_db, target_db)
- 在命令行终端中,使用Python运行脚本,指定源数据库文件(例如:
source_db.sqlite3)和目标备份数据库文件(例如:backup_db.sqlite3):
python backup_sqlite3.py source_db.sqlite3 backup_db.sqlite3
现在,您已经成功地将源数据库备份到了backup_db.sqlite3文件中。
以上就是关于“sqlite3数据库怎样进行数据备份”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm