要使用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
文件中。