12345678910111213141516171819202122232425262728293031323334 |
- import sqlite3
- conn = sqlite3.connect('db.sqlite3')
- cursor = conn.cursor()
- try:
- # 禁用外键约束
- cursor.execute("PRAGMA foreign_keys = OFF")
-
- # 获取所有表名
- cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%';")
- tables = cursor.fetchall()
- print(f"找到 {len(tables)} 张表: {[t[0] for t in tables]}") # 打印表名
-
- # 删除所有表数据
- for table in tables:
- table_name = table[0]
- print(f"正在清空表: {table_name}") # 调试信息
- cursor.execute(f"DELETE FROM {table_name}")
- print(f"已删除 {cursor.rowcount} 行数据") # 检查是否删除成功
-
- # 可选:重置自增主键
- cursor.execute("DELETE FROM sqlite_sequence")
-
- # 启用外键约束
- cursor.execute("PRAGMA foreign_keys = ON")
-
- conn.commit()
- print("数据已清空!")
- except Exception as e:
- print(f"发生错误: {e}")
- conn.rollback()
- finally:
- conn.close()
|