2026-09-17
· Dylan Yu.dbファイルの開き方:Windows、macOS、Linux向けSQLiteビューア
.dbファイルはほぼ常にSQLiteデータベースであり、その開き方は実際に何をしたいかによって変わります。本記事では、手元にあるものが何かを確認する方法、私が手に取る4つのツール、そして.dbファイルがどうしても開かないよくあるケースの直し方を解説します。
.dbファイルをダブルクリックすると、コンピュータが何もしないか、間違ったアプリを開くか、読めない文字の壁を表示します。そのせいでここに来たのなら、短い答えはこうです。.dbファイルはほぼ常にSQLiteデータベースであり、それを開く実用的な方法は4つあります——sqlite3コマンドライン、DB Browser for SQLite、DBeaver、あるいはBaseVoltのようなローカルファーストの管理パネルです。どれが欲しいかは、データを一度覗くだけなのか、実際にそれで作業するのかによって変わります。
しかし、その文の「ほぼ常に」は実際に重要な働きをしているので、ツールを渡す前に、手元にあるものが実際に何かを確認するのに30秒使いましょう。.dbという拡張子は標準ではなく慣習であり、他の多くのソフトウェアもそれを使っています。非SQLiteのファイルをSQLiteツールで開こうとすることが、ツールが壊れていると人々が思い込む最大の原因であり、実際には壊れていません。
確認方法を説明し、それからファイルを開く各方法を順に見ていきます。
まず、本当にSQLiteかを確認する
すべてのSQLiteデータベースファイルは同じ16バイトで始まります。ASCII文字列SQLite format 3に続いてヌルバイトです。これはマジックヘッダーと呼ばれ、SQLite自身が自分のファイルを認識する方法です。それらのバイトがあれば、ファイルが何と呼ばれていようとSQLiteデータベースです。なければ、そうではありません。
macOSまたはLinuxでは、確認する最速の方法はfileコマンドです。
file mydata.db
# mydata.db: SQLite 3.x database, last written using SQLite version 3045000
fileはマジックヘッダーを読んで、すぐに教えてくれます。SQLite 3.x databaseと表示されれば、それで終わり——それはSQLiteファイルです。何か別のもの——data、Microsoft Access、Paradox、Zip archive、ASCII text——と表示されれば、まったく別の形式を扱っています。
生のバイトを自分で見たいなら、macOSまたはLinuxでは:
head -c 16 mydata.db
# SQLite format 3
あるいはxxdを使うと:
xxd -l 16 mydata.db
# 00000000: 5351 4c69 7465 2066 6f72 6d61 7420 3300 SQLite format 3.
Windowsでは、PowerShellが追加ツールなしで同じことをできます。
Get-Content -Path .\mydata.db -Encoding Byte -TotalCount 16 | ForEach-Object { [char]$_ }
# S Q L i t e f o r m a t 3
ヘッダーがあれば、おめでとうございます——以下はすべてあなたに当てはまります。なければ、少し読み続けてください。よくある偽物がいくつかあります。
SQLiteでなかった場合の対処
SQLiteデータベースではないsomething.dbという名前のファイルは、たいてい次のいずれかです。
- Microsoft Accessデータベース。 Accessファイルは通常
.mdbか.accdbですが、人々はしょっちゅう.dbにリネームします。fileがMicrosoft Accessデータベースだと報告したら、AccessかJet/ACE形式を理解するツールが必要です——SQLiteツールではありません。 - Paradoxデータベース。 BorlandのParadoxはテーブルファイルに
.dbを使い、これらは古いデスクトップソフトウェアに現れます。各.dbが1テーブルで、ParadoxリーダーかODBCドライバが必要です。 - 独自形式のアプリケーションデータベース。 一部のデスクトップアプリ、特に古いものは、独自形式で
.db拡張子のファイルに状態を書き出します。これらはそれを書いたアプリ以外には開けず、時にはそれでも開けません。 - 非標準の名前のSQLiteファイル。 逆のケースです。あなたのファイルはSQLiteだが、
.sqlite、.sqlite3、.db3、.s3db、あるいは拡張子なしという名前かもしれません。SQLiteはファイル名を気にしません。マジックヘッダーがあれば、名前に関係なくSQLiteです。
最後の点は強調する価値があります。.db、.sqlite、.sqlite3、.db3はすべて単なる慣習です。 ファイル形式は同一です。拡張子は人間を助け、オペレーティングシステムがデフォルトアプリを選べるようにするために存在するだけです。あなたのファイルがSQLiteだがdata.txtという名前でも、SQLiteツールはそれを開けます——ただダブルクリックするのではなく、ツールに明示的にファイルを指定する必要があるだけかもしれません。
.dbファイルを開く4つの方法
SQLiteだとわかったところで、私が実際に使う4つのツールを、「手に取りやすい順」から「継続的な作業に最も役立つ順」へ、おおよそその順で紹介します。それぞれ形が異なり、正しいものは一度きりのクエリなのか、しばらくこのデータベースで過ごすのかによって変わります。
1. sqlite3コマンドライン
sqlite3シェルはリファレンス実装で、ほとんどのUnix系システムに同梱されており、何もインストールせずにデータベースについての質問に答える最速の方法です。公式ドキュメントはsqlite.org/cli.htmlにあり、CLIを時々以上に使うなら一読の価値があります。
まだインストールされていない場合:
- macOS: プリインストールされています。ターミナルを開いて
sqlite3と入力するだけです。 - Linux: パッケージマネージャからインストールします——Debian/Ubuntuでは
sudo apt install sqlite3、Fedoraではsudo dnf install sqlite。 - Windows: SQLiteのウェブサイトからプリコンパイル済みツールをダウンロードするか、
winget install SQLite.SQLite、またはChocolateyのsqlite3パッケージを使います。
ファイルを開くには、引数として渡します。ファイルが存在しないと、SQLiteは空のものを作成します——なので名前を正しく入力するよう注意してください。そうでなければ、気づかないうちに新しい空のデータベースができます。
sqlite3 mydata.db
一度入ると、対話型シェルの中です。一部のコマンドはドットで始まります——それらはシェル自身が扱うメタコマンドで、データベースに送られるSQLではありません。基本は:
-- List all tables in the database
.tables
-- Show the CREATE statement for every table (the full schema)
.schema
-- Show the schema for one table
.schema users
-- Make the output readable (boxed table instead of pipe-delimited)
.mode box
-- Turn on column headers
.headers on
-- Now run an actual query
SELECT id, email, created_at FROM users ORDER BY created_at DESC LIMIT 10;
-- Get the row count of a table
SELECT COUNT(*) FROM users;
-- Exit
.quit
デフォルトの出力モードはlistで、すべてをパイプ区切りの行に詰め込み、列が広いとひどく折り返します。.mode boxへの切り替えはCLIで最大の品質向上です(.mode columnはよりコンパクトですが、長い値を切り捨てます)。
さらに、元が取れるメタコマンドをいくつか:
-- Import a CSV into an existing table
.mode csv
.import data.csv users
-- Export a query result to a file
.output results.txt
SELECT * FROM orders WHERE total > 100;
.output stdout
-- Show how the database is configured (page size, journal mode, etc.)
.dbinfo
-- Back up the database to another file while it's open
.backup backup.db
CLIはスピードとスクリプト化において無敵です——シェルスクリプトやcronジョブからクエリをパイプで流し込めます。弱点はそれ以外のすべてです。データの閲覧は不快で、値の編集はUPDATEを書いてWHERE句を正しく書くことを意味し、リレーションやビューという概念はありません。精密ツールであり、私は検査と自動化のために絶えず手に取り、実際のデータ作業にはめったに使いません。
2. DB Browser for SQLite
グラフィカルなツールが欲しく、SQLiteだけを気にするなら、DB Browser for SQLiteが明白な出発点です。無料でオープンソースでクロスプラットフォーム(Windows、macOS、Linux)で、本当に安定していると言えるほど長く存在しています。sqlitebrowser.orgで入手できます。
ワークフローは単純です。起動し、「Open Database」をクリックし、.dbファイルを選ぶと、4つの主要エリアを持つタブ付きインターフェースが得られます——Database Structure(スキーマ、テーブル、インデックス、ビュー)、Browse Data(任意のテーブルの行のグリッド)、Edit Pragmas(ジャーナルモード、外部キー、その他の設定)、Execute SQL(クエリエディタ)。
うまくやること:
- 閲覧。 グリッドビューは速く読みやすく、列ごとのフィルタボックスがあります。これだけでデータを見るのにCLIより優れています。
- 軽い編集。 セルをダブルクリックして値を直接変更し、その変更をディスクに書き込めます。タイポやおかしな行の修正に便利です。
- スキーマ検査。 Database Structureタブは何が定義されているかを正確に示し、引き継いだ理解していないデータベースに最適です。
- アドホックなクエリの実行。 Execute SQLタブにはシンタックスハイライトがあり、クエリ履歴を保存します。
これを本格的に使う前に知っておく価値のある制限:
- ビューア/エディタであり、管理インターフェースではありません。 カスタムビュー、ダッシュボード、カンバンボードは作れません。見えるのはツールが表示すると決めたものです。
- SQLite専用です。 PostgreSQLやMySQLも扱うなら、2つ目のツールが必要です。
- 直接編集は容赦ありません。 セルを編集して確定すると、ファイルに直接書き込まれます。取り消しも、プレビューも、「本当によろしいですか」もありません。重要なデータベースでは、それは実際のリスクです。
- リレーションは限定的です。 スキーマに存在する外部キーは表示しますが、形式化されなかった関係を扱う助けにはなりません——以前書いたように、それが現実世界のSQLiteデータベースのほとんどです。
- 書き込みロックを保持することがあります。 書き込み用にデータベースを開くどのツールと同様、同じファイルで開いたままにすると、DB Browserはあなたのアプリケーションをブロックすることがあります。詳しくはトラブルシューティングのセクションで。
一度きりの「このファイルの中身は何?」というタスクには、DB Browserは優れています。継続的な作業には、10年前のデスクトップアプリのように感じられがちです——実際そうであり、その間あまり変わっていないからです。
3. DBeaver
DBeaverは汎用のSQLクライアントです——単一のインターフェースでSQLite、PostgreSQL、MySQL、MariaDB、Oracle、SQL Server、その他数十のデータベースと話します。無料(Community Edition)でオープンソースで、dbeaver.ioで入手できます。すでに6つほどのデータベースエンジンを使っているなら、それらすべてのための一つのクライアントがあるのは本当に価値があり、それがDBeaverがこれほど忠実なファンを持つ理由です。(より完全な内訳はDBeaver比較ページをご覧ください。)
SQLiteファイルを開くのは2段階のプロセスで、2番目のステップで人々はつまずきます。
- 新しい接続を作成し、ドライバとしてSQLiteを選びます。
- それを
.dbファイルに向けます。
DBeaverはJavaエコシステム上に構築されているため、JDBCドライバを通じてSQLiteと話します。Community Editionは通常、初回接続時にドライバを自動でダウンロードしますが、オフラインやファイアウォールの背後では、ドライバJARを自分で用意する必要があります。これがDBeaverとSQLiteで最もよくある摩擦点であり、始める前に知っておく価値があります。
接続すると、DBeaverは多くを与えます。
- オートコンプリート、フォーマット、複数の結果タブを備えた本格的なクエリエディタ。
- ツリーでのスキーマ閲覧(テーブル、列、インデックス、制約付き)。
- グリッドでのデータ編集(実行前に変更のSQLを生成する機能付き)。
- テーブルとその外部キーを可視化するER図。
- 幅広い形式でのエクスポートとインポート——CSV、JSON、SQLなど。
トレードオフは、DBeaverがIDE型であることです。大きなアプリケーションで、起動に時間がかかり、インターフェースは表面積が広く、一日中データベースに浸る人々のために作られています。ある.dbファイルの中身を見たいだけなら、DBeaverはその仕事には大げさすぎます。
正直に言うべきもう一つ:DB Browserと同様、DBeaverはデータベースクライアントであり、管理パネルではありません。生のテーブルを見せます。ギャラリービュー、カンバンボード、ダッシュボードは与えず、スキーマにない関係を扱う助けにもなりません。
4. ローカルファーストの管理パネル(BaseVolt)
4番目の選択肢はより新しいカテゴリで、私が実際の作業で最も使うようになったものです。ローカルファーストの管理パネルは、完全にあなたのマシン上で動き、あなたのデータベースを指し、閲覧と編集のための洗練されたインターフェースを与えるデスクトップアプリです——通常は自分で作るか、SaaSにデータをアップロードしないと得られない種類のUIです。
BaseVoltは私が使っているものなので、具体的に説明します。macOS(Apple Silicon)とWindows向けのローカルファーストのデスクトップアプリです。完全にあなたのマシン上で動き、オフラインで動作し、認証情報をローカルで暗号化し、データをどこにも送りません——すべてはlocalhostに留まります。PostgreSQL、MySQL、SQLite、Cloudflare D1に直接接続するので、同じツールでスタック全体をカバーします。
.dbファイルに限って言えば、ワークフローは失礼なほど短いです。アプリをインストールし、「Add Data Source」をクリックしてファイルを指定します。それだけです。接続文字列もマイグレーションも設定もスキーマ変更もありません。典型的なデータベースなら約3秒で動くダッシュボードが得られます。何かをインストールする前に見たいなら、demo.basevolt.appにライブデモがあります。
開いた後に得られるもの:
- 複数のビュー。 標準的なテーブル閲覧用のグリッドビュー、画像が多い、あるいはリッチなコンテンツ用のギャラリービュー、任意のフィールド(ステータス、優先度、担当者)でレコードをグループ化できるカンバンビュー、チャートと統計用のダッシュボード。
- リレーション。 LLMでスキーマのリレーションを自動検出し、外部キーを可視化するので、親行から子行へ、また戻へとナビゲートできます。重要なのは、スキーマに存在しない関係——ほとんどのSQLiteデータベースが持つが形式化しなかった暗黙のリンク——も定義できることです。これは重要なことです。なぜなら、外部キーガイドで扱ったように、SQLiteは完全な再構築なしには既存のテーブルに外部キーすら追加できないからです。
- 非破壊的なカスタマイズ。 スキーマを変更することなく、UIでフィールドの名前を変更し、値を整形し、テーブルを結合できます。同じファイルを読むあなたのアプリケーションコードは何も気づきません。
- localhost上の内蔵MCPサーバー。これによりClaude Desktop、Cursor、Windsurf、Codexがアプリを通じてあなたのデータベースに直接クエリできます。AIはBaseVoltと話し、BaseVoltはあなたのファイルと話します——第三者には何も行きません。
正直なトレードオフ:デスクトップアプリなので、デフォルトではチームの共有webダッシュボードではありません(Pro枠はデバイス間同期を追加します)、そしてDB BrowserやDBeaverより新しいツールなので実績が少ないです。しかし「.dbファイルがあって実際にそれで作業したい」という特定の仕事には、私が手に取るツールです。機能ページで機能一覧を見られますし、Hobby枠は2データソースで永久に無料、アカウント不要なので、試すのに何もかかりません。
比較表
4つが互いにどう並ぶかは以下のとおりです。「レコードの編集」は、技術的に可能かどうかだけでなく、データの変更がどれほど快適で安全かについてです。
| ツール | プラットフォーム | インストールの手間 | 最適な用途 | レコードの編集 |
|---|---|---|---|---|
sqlite3 CLI | Windows, macOS, Linux | macOS/Linuxでは不要、Windowsでは小さなダウンロード | 素早い検査、スクリプト化、自動化 | 手動のUPDATE/DELETEのみ、安全網なし |
| DB Browser for SQLite | Windows, macOS, Linux | 小さなダウンロード | 単一のSQLiteファイルの閲覧、軽い編集 | セルの直接編集、取り消しなし、即座に書き込み |
| DBeaver | Windows, macOS, Linux | 大きめのダウンロード、JDBCドライバの設定 | すでにマルチエンジンのSQLクライアントを使っている開発者 | 生成されたSQLのプレビュー付きのグリッド編集 |
| BaseVolt | macOS(Apple Silicon), Windows | 小さなダウンロード | 継続的な作業:ビュー、リレーション、ダッシュボード | 非破壊的なUI層でのインライン編集 |
ここに単一の勝者はいません。ファイルについて一つの質問に答える必要があるなら、CLIを使います。他人のデータベースを初めて開くなら、DB Browser。Postgres用にすでにDBeaverを動かしているなら、SQLiteをそれに追加します。そしてこのデータベースで数分以上作業するつもりなら——閲覧、フィルタ、ビューの構築、リレーションのナビゲート——BaseVoltを使います。
GUIなしで.dbファイルを検査する方法
何もインストールしたくないことがあります。サーバー上、SSH越し、あるいはコンテナの中にいて、ファイルの中身を知りたいだけです。sqlite3 CLIがこれらすべてを担い、いくつかのワンライナーが欲しいもののほとんどをカバーします。
すべてのテーブルを一覧表示:
sqlite3 mydata.db ".tables"
完全なスキーマ——すべてのCREATE文——を取得:
sqlite3 mydata.db ".schema"
1つのテーブルのスキーマを取得:
sqlite3 mydata.db ".schema users"
すべてのテーブルの行数を一度に:
sqlite3 mydata.db "SELECT name FROM sqlite_master WHERE type='table';" | while read t; do
echo -n "$t: "
sqlite3 mydata.db "SELECT COUNT(*) FROM \"$t\";"
done
テーブルとその列数、そして素早い覗き見を一覧表示:
sqlite3 -header -column mydata.db "PRAGMA table_info(users);"
ファイルのページサイズとエンコーディングを確認:
sqlite3 mydata.db "PRAGMA page_size; PRAGMA encoding;"
整合性を確認(破損を疑うときに便利):
sqlite3 mydata.db "PRAGMA integrity_check;"
okを返すPRAGMA integrity_check;は、ファイルの内部構造が一貫していることを意味します。それ以外を返すなら、ファイルは損傷しています——GUIが助けにならない数少ない状況の一つで、バックアップから復元したくなるでしょう。
GUIなしで簡単にはできない唯一のことは、テーブル間の関係を見ることです。スキーマはどの外部キーが存在するかを教えますが、どの列が関係しているべきかは教えません。そのためには、リレーションを可視化して定義させてくれるツールが、インストールする価値があります。
トラブルシューティング:.dbファイルが開かないとき
ほとんどの場合、.dbファイルを開くのはうまくいきます。うまくいかないときは、たいてい次の5つの問題のどれかです。
「Database is locked」
これは最もよくあるエラーで、ほとんどは自分で招いたものです。SQLiteは一度に1つのライターしか許しません。他のプロセス——あなたのアプリケーション、実行中のdevサーバー、あるいは別のGUIツール——が現在ファイルに書き込みロックを保持しているなら、新しい接続はロックを取得できず、database is locked(またはSQLITE_BUSY)が返ります。
修正は、他の接続を見つけて閉じることです。確認すべきこと:
- あなたのアプリケーションがまだ動いていて、データベースを開いたままにしていませんか?
- 別のウィンドウで、別のSQLiteツール——DB Browser、DBeaver、CLI——でファイルを開いていませんか?
- 以前のプロセスがロックを解放せずにクラッシュしませんでしたか?
プロセスがクラッシュして古いロックを残したなら、通常はロックファイルが犯人です。WAL(write-ahead logging)モードでは、SQLiteはデータベースと並んで2つのサイドカーファイルを保持します。mydata.db-wal(write-aheadログ)とmydata.db-shm(共有メモリ)です。これらは正常で想定内であり、破損ではなく、どのプロセスもデータベースを開いている間は削除すべきではありません。何もファイルを開いていないと確信してもロックが残るなら、-shmと-walファイルを削除すると(どのプロセスも使っていないことを確認した上で)、次のオープン時にSQLiteがそれらを再構築します。
重要なニュアンスが一つ:リーダーは互いをブロックせず、WALモードではリーダーはライターをブロックしません。 読み取りでdatabase is lockedが出るなら、通常はライターがロックを保持しています——長時間実行されるトランザクションか、WALではなくrollback-journalモードでデータベースを開いたアプリケーションです。あなたのアプリケーションが接続時にPRAGMA journal_mode = WAL;を設定すれば、これらのエラーははるかに少なくなります。
ファイルが空、または0バイト
0バイトの.dbファイルはデータベースではなく、空のファイルです。これは思う以上によく起こります。アプリが初回起動時にファイルを作成し、何か書き込む前にクラッシュする、ダウンロードが途中で失敗する、あるいはコピー操作が静かに何も生成しない、といった具合です。
空のファイルにはマジックヘッダーがないので、どのツールもエラーを出すか、その中に新しいデータベースを作成するよう促します。データがそこにあるはずだと確信しているなら、ファイルはおそらく失われています——バックアップ、まだコミットされていないデータを保持する.db-walファイル、あるいは.db-journalファイルを探してください。0バイトのデータベースの隣に-walファイルがあるなら、コミット済みページはまだ回復できるかもしれませんが、サイドカーファイルを削除するのではなく、SQLiteで開いて回復させる必要があります。
ファイルが暗号化されていてゴミとして開く
一部のアプリケーションは、透過的な暗号化を追加するSQLiteのフォークであるSQLCipherでSQLiteデータベースを暗号化します。暗号化されたSQLCipherデータベースは有効なファイルですが、その最初の16バイトはSQLiteのマジックヘッダーではなく、暗号化ソルトです。なのでfileは認識せず、標準的なSQLiteツールは開くのを拒否するか、バイナリのゴミを表示します。
ファイルがSQLCipherで暗号化されているとわかっているなら、SQLCipher対応ビルドのCLIかSQLCipherをサポートするツール、そして暗号化キーが必要です。標準のSQLiteはそれを読めず、リネームやなだめすかしでは変わりません。ファイルが暗号化されていると知らないなら、これはより混乱する失敗モードの一つです。ファイルは実在し空でもないのに、何もそれを読めません。
ファイルがそもそもSQLiteではない
出発点に戻ります。fileがSQLite 3.x database以外を報告するなら、別の形式——Access、Paradox、独自の塊、あるいは誰かがリネームしたプレーンテキストやアーカイブファイル——を扱っています。どのSQLiteツールもそれを開けません。まず形式を特定し(fileコマンドが通常教えてくれます)、それからその形式のためのツールを探してください。
スマホアプリやElectronアプリの.dbファイルを開く
これは独立した注記に値するほどよく出てきます。.dbファイルがiOSかAndroidアプリ、あるいはデスクトップのElectronアプリ(Slack、Discord、VS Code、その他無数のものがElectronです)から来たなら、それはほぼ確実に本物のSQLiteデータベースであり、上のどのツールでも問題なく開きます。いくつか注意点:
- 暗号化されているかもしれません。 一部のアプリはSQLCipherを使います。上記を参照してください。
- サイドカーファイル付きのWALモードを使っているかもしれません。
.dbファイルだけをコピーして-walファイルを置き去りにしたなら、最新の書き込みが欠けているかもしれません。一貫したスナップショットが欲しいなら、3つのファイル(.db、.db-wal、.db-shm)を一緒にコピーしてください。 - スキーマはアプリのもので、あなたのものではありません。 読むことはできますが、直接編集するとアプリを壊す可能性があります。何をしているか正確にわかっていない限り、サードパーティアプリのデータベースは読み取り専用として扱ってください。
- iOSアプリは時々別の場所を使います。 iOSではデータベースはアプリのサンドボックス内にあり、そこへ到達するには通常バックアップ抽出ツールか脱獄したデバイスが必要です。それはこの記事の範囲外ですが、「ファイルが見つからない」がよくある不満である理由です。
何に何を使うか
実際にやろうとしていることに基づいた、素早い判断ガイドです。
- ファイルについて一つの質問に答えるだけでよい。
sqlite3CLIを使います。インストール不要、面倒なし。 - 中身を見るために見慣れないデータベースを開く。 DB Browser for SQLiteを使います。StructureタブとBrowseタブが、引き継いだファイルを理解する最速の道です。
- すでに他のデータベースにDBeaverを使っている。 SQLiteをそれに追加し、すべてに一つのクライアントを保ちます。
- このデータベースで繰り返し作業するつもり。 ローカルファーストの管理パネルを使います。インストールに費やす時間は、フィルタされたビュー、結合したテーブル、カンバンボードが必要になった最初の時点で元が取れます——そしてそのすべてをスキーマを変更せずに得られます。これはローカルSQLite管理パネルガイドの理由で重要なことです。
- サーバー上、あるいはSSH越し。 CLIが唯一の現実的な選択肢で、上のワンライナーが検査とメンテナンスをカバーします。
- リレーションを可視化する必要がある。 それを見せてくれるツールを使います——スキーマに存在するキーにはDBeaverのER図、形式的な関係と暗黙の関係の両方にはBaseVolt。
確信が持てないなら、CLIでファイルがSQLiteであることを確認しテーブルを見ることから始め、そこで時間を費やすとわかってからGUIに移ってください。
まとめ
.dbファイルはほぼ常にSQLiteデータベースであり、それを確認するのが第一歩です——fileか最初の16バイトでSQLite format 3マジックヘッダーを確認し、それがなければツールを責める前に、実際に何を手にしているのかを突き止めてください。拡張子.db、.sqlite、.sqlite3、.db3はすべて同じ形式で、名前は何も教えてくれません。
SQLiteだとわかったら、やっていることに応じてツールを選んでください。
sqlite3CLIは素早い検査、スクリプト化、サーバー作業に。.tables、.schema、.mode boxを覚えれば、永遠に使えます。- DB Browser for SQLiteは単一ファイルの閲覧と軽い編集に。無料でシンプル、SQLite専用です。
- DBeaverはすでにマルチエンジンのSQLクライアントに浸っていて、JDBCの設定を気にしないなら。
- BaseVoltのようなローカルファーストの管理パネルは、実際にデータで作業したいとき——グリッド、ギャラリー、カンバン、ダッシュボードのビュー、リレーションのナビゲート、そしてスキーマをそのままにする非破壊的なUI層。
そして何かが開かないときは、ほぼ常に次の5つのどれかです。他のプロセスが保持するロック、空のファイル、SQLCipher暗号化、非SQLite形式、あるいは-walサイドカーを欠いたコピーされたデータベース。どれを見ているかを知ることが、いらだたしい行き止まりを2分の修正に変えます。
何かにコミットする前に管理パネルのアプローチを見たいなら、demo.basevolt.appにライブデモがあり、ダウンロードページからアプリを入手できます——無料、アカウント不要、そして完全にあなたのマシン上で動きます。
これが役に立ったなら、私はデータベース、ローカルファーストソフトウェア、そして開発ツールを作る地味な部分について書いています。Xで見つけてください。