使用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:导出原始数据库

  1. 启动SQLite Studio

  2. 连接数据库:

    • 点击菜单栏【数据库】→【添加数据库】
    • 选择损坏的.sqlite文件→【OK】
  3. 执行全库导出:

    • 右键单击数据库→【导出数据库】,在弹出的对话框中选择"全选"→Next;
  4. 配置导出参数:

    • 勾选"Add "IF NOT EXISTS" clause to "CREATE" statement"和"在"CREATE"语句前生成"DROP IF EXISTS"语句"
    • 设置编码为UTF-8

      最后点击"Finish"完成导出。

步骤2:创建新数据库

  1. 新建空白数据库:
    • 【数据库】→【添加数据库】
    • 指定保存路径→设置Page Size为4096(推荐)
  2. 执行SQL导入:
    • 右键单击新建的数据库→从文件执行SQL
    • 打开导出的.sql文件→点击执行按钮

      在弹出的对话框中选择.sql文件,并选择正确的编码,勾选"跳过失败的SQL语句":

便会开始导入:

  1. 验证导入结果:

    sql 复制代码
    PRAGMA integrity_check;  -- 执行完整性校验
    SELECT count(*) FROM sqlite_master; -- 对比对象数量

三、高级技巧与注意事项

  1. 部分导出策略:

    • 遇到损坏表时单独导出其他表
    sql 复制代码
    ATTACH 'corrupt.db' AS old;
    CREATE TABLE new.users AS SELECT * FROM old.users;
  2. 大文件优化方案:

    • 使用事务包裹INSERT语句
    • 分批次执行(每10万条提交一次)
  3. 常见错误处理:

    • 出现"database disk image is malformed"时:
      1. 尝试.recover命令
      2. 使用sqlite3 corrupt.db ".output dump.sql" ".dump"
    • 编码错误时添加PRAGMA encoding='UTF-8';
相关推荐
Azhao11062 天前
商城产品详情页的客服咨询在哪里设置详解:从入门到实战全攻略
sqlite
ggabb2 天前
战斗机器人的发展与战争伦理影响
sqlite
鹏子训3 天前
AI记忆新思路:用SQLite替代向量数据库,去EMBEDDINGS化,谷歌开源Google Always On Memory Agent
数据库·人工智能·sqlite·embedding
Muyuan19983 天前
25.Paper RAG Agent 优化记录:上传反馈、计算器安全与 Chunk 参数调整
python·安全·django·sqlite·fastapi
code_pgf8 天前
sqlite数据库cmakelist.txt编译
数据库·sqlite
_F_y8 天前
SQLite3的基础使用
jvm·数据库·sqlite
IntMainJhy9 天前
【flutter for open harmony】第三方库 Flutter 二维码生成的鸿蒙化适配与实战指南
数据库·flutter·华为·sqlite·harmonyos
IntMainJhy9 天前
【flutter for open harmony】第三方库Flutter 国际化多语言的鸿蒙化适配与实战指南
数据库·flutter·华为·sqlite·harmonyos
IntMainJhy9 天前
【flutter for open harmony】Flutter SQLite 本地数据库的鸿蒙化适配与实战指南
数据库·flutter·sqlite
北冥有羽Victoria10 天前
Django Auth组件完整版教程:从原理到项目落地
大数据·服务器·数据库·后端·python·django·sqlite