使用SQLite Studio导出/导入SQL修复损坏的数据库
使用SQLite Studio导出/导入SQL修复损坏的数据库
使用Zotero时遇到了数据库损坏,在软件中寸步难行,遂尝试修复数据库。
一、SQLite Studio简介
SQLite Studio是一款专为SQLite数据库设计的免费开源工具,支持Windows/macOS/Linux。相较于其他数据库管理工具,它具备以下核心优势:
- 可视化操作:无需记忆复杂命令即可完成数据库管理
- SQL脚本支持:可执行高级查询与批量操作
- 数据导出/导入:支持CSV/JSON/SQL等多种格式
- 跨平台兼容性:统一的操作体验适配各类系统
- 轻量化设计:仅需15MB安装空间即可运行
官网地址
 GitHub地址
本文介绍借助该软件导出.sqlite数据库到.sql文件,再重新导入为新的.sqlite数据库的方法(以解决原数据库损坏问题)。
二、修复数据库操作流程
步骤1:导出原始数据库
-  启动SQLite Studio 
-  连接数据库: - 点击菜单栏【数据库】→【添加数据库】
- 选择损坏的.sqlite文件→【OK】
 
-  执行全库导出: - 右键单击数据库→【导出数据库】,在弹出的对话框中选择“全选”→Next;
  
 
- 右键单击数据库→【导出数据库】,在弹出的对话框中选择“全选”→Next;
-  配置导出参数: - 勾选"Add “IF NOT EXISTS” clause to “CREATE” statement"和"在“CREATE”语句前生成“DROP IF EXISTS”语句"
- 设置编码为UTF-8
  
 最后点击“Finish”完成导出。
 
步骤2:创建新数据库
- 新建空白数据库: - 【数据库】→【添加数据库】
- 指定保存路径→设置Page Size为4096(推荐)
 
- 执行SQL导入: - 右键单击新建的数据库→从文件执行SQL
- 打开导出的.sql文件→点击执行按钮
  
 在弹出的对话框中选择.sql文件,并选择正确的编码,勾选“跳过失败的SQL语句”:
  
 
便会开始导入:
 
- 验证导入结果:PRAGMA integrity_check; -- 执行完整性校验 SELECT count(*) FROM sqlite_master; -- 对比对象数量
三、高级技巧与注意事项
-  部分导出策略: - 遇到损坏表时单独导出其他表
 ATTACH 'corrupt.db' AS old; CREATE TABLE new.users AS SELECT * FROM old.users;
-  大文件优化方案: - 使用事务包裹INSERT语句
- 分批次执行(每10万条提交一次)
 
-  常见错误处理: - 出现"database disk image is malformed"时: - 尝试.recover命令
- 使用sqlite3 corrupt.db ".output dump.sql" ".dump"
 
- 尝试
- 编码错误时添加PRAGMA encoding='UTF-8';
 
- 出现"database disk image is malformed"时: 
