用python写一个SQLite3数据库资料转移到新的SQLite3数据库的代码
时间: 2023-05-25 21:02:13 浏览: 139
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
import sqlite3
# 连接旧数据库
old_conn = sqlite3.connect('old_database.db')
old_cursor = old_conn.cursor()
# 连接新数据库
new_conn = sqlite3.connect('new_database.db')
new_cursor = new_conn.cursor()
# 获取旧数据库中的所有表名
table_names = old_cursor.execute("SELECT name FROM sqlite_master WHERE type='table';").fetchall()
# 循环遍历每个表,将数据从旧数据库转移到新数据库
for name in table_names:
# 获取旧表的表结构
table_structure = old_cursor.execute(f"SELECT sql FROM sqlite_master WHERE type='table' AND name='{name[0]}';").fetchone()[0]
# 在新数据库中创建新表
new_cursor.execute(table_structure)
# 获取旧表中的所有数据
data = old_cursor.execute(f"SELECT * FROM {name[0]}").fetchall()
# 将数据插入新表中
for row in data:
placeholders = ','.join('?' * len(row))
new_cursor.execute(f"INSERT INTO {name[0]} VALUES ({placeholders})", row)
# 提交事务并关闭数据库连接
new_conn.commit()
old_conn.close()
new_conn.close()
阅读全文