要使用SQLite3数据库进行数据备份,您可以使用sqlite3
命令行工具或编写一个简单的Python脚本来完成。这里有两种方法:
方法1:使用sqlite3命令行工具
打开命令行终端(在Windows上是命令提示符或PowerShell,在macOS和Linux上是终端)。
使用sqlite3
命令连接到源数据库文件(例如:source_db.sqlite3
):
sqlite3 source_db.sqlite3
.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 <source_db> <target_db>")
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)
source_db.sqlite3
)和目标备份数据库文件(例如:backup_db.sqlite3
):python backup_sqlite3.py source_db.sqlite3 backup_db.sqlite3
现在,您已经成功地将源数据库备份到了backup_db.sqlite3
文件中。