使用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. 驗證導入結果:
    PRAGMA integrity_check;  -- 執行完整性校驗
    SELECT count(*) FROM sqlite_master; -- 對比對象數量
    

三、高級技巧與注意事項

  1. 部分導出策略:

    • 遇到損壞表時單獨導出其他表
    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';

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81876.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【git config --global alias | Git分支操作效率提升實踐指南】

git config --global alias | Git分支操作效率提升實踐指南 背景與痛點分析 在現代軟件開發團隊中,Git分支管理是日常工作的重要組成部分。特別是在規范的開發流程中,我們經常會遇到類似 feature/user-management、bugfix/login-issue 或 per/cny/dev …

(八)深度學習---計算機視覺基礎

分類問題回歸問題聚類問題各種復雜問題決策樹√線性回歸√K-means√神經網絡√邏輯回歸√嶺回歸密度聚類深度學習√集成學習√Lasso回歸譜聚類條件隨機場貝葉斯層次聚類隱馬爾可夫模型支持向量機高斯混合聚類LDA主題模型 一.圖像數字化表示及建模基礎 二.卷積神經網絡CNN基本原…

在tensorflow源碼環境里,編譯出獨立的jni.so,避免依賴libtensorflowlite.so,從而實現apk體積最小化

需要在APP里使用tensorflow lite來運行PC端訓練的model.tlite,又想apk的體積最小,嘗試了如下方法: 1. 在gradle里配置 implementation("org.tensorflow:tensorflow-lite:2.16.1") 這樣會引入tensorflow.jar,最終apk的…

neo4j框架:java安裝教程

安裝使用neo4j需要事先安裝好java,java版本的選擇是一個犯難的問題。本文總結了在安裝java和使用Java過程中遇到的問題以及相應的解決方法。 Java的安裝包可以在java官方網站Java Downloads | Oracle 中國進行下載 以java 8為例,選擇最后一行的x64 compr…

[服務器備份教程] Rclone實戰:自動備份數據到阿里云OSS/騰訊云COS等對象存儲

更多服務器知識,盡在hostol.com 各位服務器的守護者們,咱們都知道,數據是數字時代的“黃金”,而服務器上的數據更是我們業務的命脈。可天有不測風云,硬盤可能會突然“壽終正寢”,手滑執行了“毀滅性”命令…

Nextjs App Router 開發指南

Next.js是一個用于構建全棧web應用的React框架。App Router 是 nextjs 的基于文件系統的路由器,它使用了React的最新特性,比如 Server Components, Suspense, 和 Server Functions。 術語 樹(Tree): 一種用于可視化的層次結構。例如,包含父…

山東大學計算機圖形學期末復習15——CG15

CG15 OpenGL緩沖區、讀寫操作以及混合(Blending) 一、OpenGL緩沖區概述 OpenGL中的緩沖區是用于存儲像素數據的內存區域,主要包括以下類型: 顏色緩沖區(Color Buffer):存儲每個像素的顏色值…

html+css+js趣味小游戲~記憶卡片配對(附源碼)

下面是一個簡單的記憶卡片配對游戲的完整代碼&#xff0c;使用HTML、CSS和JavaScript實現&#xff1a; html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"wid…

?個并發訪問量?較?的key在某個時間過期,在redis中這個時間過期什么意思

在 Redis 中&#xff0c;當提到一個鍵&#xff08;key&#xff09;“在這個時間過期”&#xff0c;指的是為該鍵設置了生存時間&#xff08;TTL, Time To Live&#xff09;或過期時間&#xff08;expiration time&#xff09;。一旦到達設定的過期時間&#xff0c;Redis 會自動…

【設計模式】- 行為型模式1

模板方法模式 定義了一個操作中的算法骨架&#xff0c;將算法的一些步驟推遲到子類&#xff0c;使得子類可以不改變該算法結構的情況下重定義該算法的某些步驟 【主要角色】&#xff1a; 抽象類&#xff1a;給出一個算法的輪廓和骨架&#xff08;包括一個模板方法 和 若干基…

ubuntu22.04 卸載ESP-IDF

要在Ubuntu 22.04上完全卸載ESP-IDF&#xff0c;請按照以下步驟操作&#xff1a; 卸載ESP-IDF的步驟 刪除ESP-IDF目錄&#xff1a; # 假設ESP-IDF安裝在~/esp/esp-idf目錄 rm -rf ~/esp/esp-idf刪除ESP-IDF工具鏈和下載的工具&#xff1a; rm -rf ~/.espressif從PATH中移除ESP…

SQLMesh 內置宏詳解:@PIVOT等常用宏的核心用法與示例

本文系統解析 SQLMesh 的四個核心內置宏&#xff0c;涵蓋行列轉換的 PIVOT、精準去重的 DEDUPLICATE、靈活生成日期范圍的 DATE_SPINE&#xff0c;以及動態表路徑解析的 RESOLVE_TEMPLATE。通過真實案例演示參數配置與 SQL 渲染邏輯&#xff0c;并對比宏調用與傳統 SQL 的差異&…

基于Springboot + vue3實現的工商局商家管理系統

項目描述 本系統包含管理員、商家兩個角色。 管理員角色&#xff1a; 用戶管理&#xff1a;管理系統中所有用戶的信息&#xff0c;包括添加、刪除和修改用戶。 許可證申請管理&#xff1a;管理商家的許可證申請&#xff0c;包括搜索、修改或刪除許可證申請。 許可證審批管理…

第五部分:第五節 - Express 路由與中間件進階:廚房的分工與異常處理

隨著你的 Express 應用變得越來越大&#xff0c;所有的路由和中間件都寫在一個文件里會變得難以管理。這時候就需要將代碼進行拆分和組織。此外&#xff0c;一個健壯的后端應用必須能夠優雅地處理錯誤和一些常見的 Web 開發問題&#xff0c;比如跨域。 路由模塊化 (express.Ro…

萌新聯賽第(三)場

C題 這道題用暴力去寫想都不要想&#xff0c;一定超時&#xff0c;于是我們需要優化&#xff0c;下面是思路過程&#xff1a; 如圖&#xff0c;本題只需找到x的因數個數和(n-x)的因數個數&#xff0c;這兩個相乘&#xff0c;得到的就是對于這個x來說組合的個數&#xff0c;且x…

【Android構建系統】如何在Camera Hal的Android.bp中選擇性引用某個模塊

背景描述 本篇文章是一個Android.bp中選擇性引用某個模塊的實例。 如果是Android.mk編譯時期&#xff0c;在編譯階段通過某個條件判斷是不是引用某個模塊A, 是比較好實現的。Android15使用Android.bp構建后&#xff0c;要想在Android.bp中通過自定義的一個變量或者條件實現選…

【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設備信息并進行控制

【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設備信息并進行控制 一、 前言1.1 OntNET硬件方面: STM32F103C8T6 ESP01S教程 1.2 微信小程序方面 二、STM32代碼部分修改三、微信小程序修改的部分四、小筆記&#xff08;個人雜記&#xff09;4.1 OneNETOneNET物聯網…

用 python 編寫的一個圖片自動分類小程序(三)

圖片自動分類識別小程序記錄 2025/5/18 0:38修改程序界面&#xff0c;增加一些功能 用 python 編寫的一個圖片自動識別分類小程序。 操作系統平臺&#xff1a;Microsoft Windows 11 編程語言和 IDE&#xff1a;python 3.10 Visual studio code 一&#xff1a;圖片自動分…

嵌入式硬件篇---SGP30 氣體傳感器

文章目錄 前言一、SGP30 氣體傳感器詳解(一)基本概述(二)工作原理傳感器結構檢測機制自校準功能(三)主要特性(四)應用場景智能家居空氣質量檢測儀汽車行業商業建筑二、TVOC 與 eCO2 的含義(一)TVOC(總揮發性有機化合物)定義危害健康標準(二)eCO2(等效二氧化碳)…

【原創】ubuntu22.04下載編譯AOSP 15

安裝依賴的庫&#xff0c;順便把vim 也安裝一下 sudo apt-get install vim sudo apt-get install git gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip font…