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()