# SQLite Viewer

> SQLiteデータベース（.db、.sqlite）をブラウザで開く：行数つきテーブル一覧、スキーマDDL、ソート可能なグリッド、ビジュアルクエリビルダー。

- URL: https://bytescope.dev/ja/sqlite-viewer/
- Locale: ja · Also: [en](https://bytescope.dev/en/sqlite-viewer.md) · [zh-Hant](https://bytescope.dev/zh-Hant/sqlite-viewer.md)
- Runs: ファイルはブラウザから送信されません — 処理はすべてローカルで行われます。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

.db、.sqlite、.sqlite3ファイルをドロップすると、すぐに閲覧できます：各テーブルとその行数、ビューとインデックス、テーブルごとの完全なスキーマDDL、そして列のソートとクイックフィルタ付きのページ分割されたデータグリッド。データベースはおそらく最も機密性の高いファイルです — このビューアはWebAssemblyにコンパイルされたSQLiteをブラウザ内で実行するので、ファイルがどこかにアップロードされることは決してありません。スマホのバックアップ、アプリのデータフォルダ、サーバーからデータベースを取り出し、ネットワークに触れさせずに検査できます。

2通りの方法でクエリできます。SQLエディタは本物のSQLを提供します — シンタックスハイライト、分かりやすいエラーメッセージ、クエリ履歴、デフォルトで読み取り専用で、明示的なスイッチで書き込みを有効にして変更後のデータベースをエクスポートできます。ビジュアルクエリビルダーはSQLをまったく必要としません：テーブルを選び、列にチェックを入れ、ドロップダウンからフィルタ条件を重ね、ソートと行数上限を選ぶと — 組み立てるそばから生成されるSQLがライブで更新され、それはそのままやさしいSQLチュートリアルにもなります。ワンクリックで、組み立てたクエリをエディタに移して手動で調整できます。

組み立てたクエリは保存でき（名前を付け、ブラウザ内にのみ保存され、データベースのスキーマに紐付けられるので、同じファイルを次に開いたときに再び現れます）、テンプレートライブラリが日常的な要望をカバーします：先頭100行、グループ化してカウントし上位N件、日付範囲フィルタ、テーブル横断のテキスト検索、重複検出、NULL比率チェック。結果はCSVまたはJSONにエクスポートでき、BLOB列は型が判別され、画像のBLOBはサムネイルとして描画されます。WALサイドカーファイル、SQLCipherで暗号化されたデータベース、破損したファイルには、それぞれクラッシュではなく正直で具体的なメッセージが表示されます。

データベースの行だけでなく、その構造を理解するのに役立つビューが3つあります。自動生成されるER図は外部キーを解析し、各テーブルを主キー・外部キーの列を持つボックスとして描き、1対多のリレーション線でつなぎます（パン・ズームでき、リレーションのないテーブルは切り離して表示されます）。スキーマ差分ビューでは、2つ目のデータベースをドロップすると何が変わったかを正確に確認できます：追加・削除されたテーブル、追加・削除・型変更された列、インデックスとビューの違い — 同じアプリの2つのバージョン間のマイグレーション差異を見つけるのに最適です。そしてエンジンはファイル全体をメモリに読み込むため、サイズ警告は段階的で正直です：単に重いだけのデータベースなのか、それともメモリに開くには大きすぎるのかを区別し、真のGB規模の閲覧にはストリーミング型のOPFSバックエンドが必要だと、ごまかさずに説明します。

## Limits

Does not edit the database or open encrypted (SQLCipher) files; it is a read-only browser with SQL queries.

## FAQ

### データベースはどこかにアップロードされますか？

いいえ — そしてデータベースについては、他のどんなファイル形式よりもそれが重要です。SQLiteはブラウザ内でWebAssemblyとして動作します。ファイルはお使いのマシンのメモリ内で開かれ、クエリはローカルで実行され、何も送信されません。ページを読み込んだ後にインターネットを切断しても、すべて動作し続けます。

### SQLが分かりませんが、それでも使えますか？

はい。ビジュアルクエリビルダーはドロップダウンとチェックボックスだけで完結します：テーブルを選び、列を選び、status = active のようなフィルタを追加し、ソートし、件数を制限する — これで完了です。生成されたSQLはクリックするそばからライブで表示されるので、副産物として構文を学べ、テンプレートは重複検出のような一般的な作業を2クリックで処理します。

### データを編集して変更を保存できますか？

ビューアはデフォルトで読み取り専用で開くので、誤って何かを壊すことはありません。「書き込みを許可」スイッチを切り替えるとUPDATE/INSERT/DELETEを実行でき、変更後のデータベースを新しい.dbファイルとしてダウンロードできます — ディスク上の元ファイルがその場で変更されることは決してありません。

### データベースが暗号化されている、または最近のデータが欠けていると表示されるのはなぜですか？

SQLCipherで暗号化されたデータベースは開けません（その暗号化は標準SQLiteの一部ではありません） — ビューアはそれを検出してそう伝えます。.dbの隣にある-walサイドカーファイルには、まだマージされていない最近の書き込みが保持されています。それが存在する場合、ビューアは最新の行が欠けている可能性があると警告し、先にデータベースをチェックポイントすることを提案します。

### テーブル同士の関連を見られますか？

はい — ER図タブはスキーマから外部キーを直接読み取り、エンティティ関連図を自動的に描きます：各テーブルは主キー・外部キーの列を並べたボックスになり、各外部キーから参照先テーブルへ1対多の線がつながります。パン・ズームでき、リレーションのないテーブルは切り離して表示され、存在しないテーブルを指す外部キーは隠さずに印を付けます。

### 2つのデータベースを比較できますか？

はい。スキーマ差分タブでは2つ目の.dbをドロップすると、その構造を開いているデータベースと比較します：追加・削除されたテーブル、テーブルごとに追加・削除・変更された列（型、NULL可否、主キー、デフォルト、外部キー）、さらにインデックスとビューの違い。2つ目のデータベースはスキーマを読むためだけに開かれ、その後は破棄されます — ここの他のすべてと同様、どちらのファイルもアップロードされません。

### どのくらいの大きさのデータベースを扱えますか？

エンジン（WebAssemblyにコンパイルされたSQLite）はファイル全体をメモリに読み込むので、一般的なマシンでは数百MBまでが快適です。警告は単一のしきい値ではなく段階的で正直です：重いファイルにはRAMに関する注意、非常に大きいファイルにはより強い注意、そして数GBのファイルは1つのメモリ内バッファに収まらないため開く前に失敗する可能性が高いと明示します。すべてを読み込まずにGB規模のデータベースを閲覧するには、オリジンプライベート（OPFS）ファイルからページを必要に応じて読むエンジンが必要ですが、sql.jsにはそれができません。ツールはOPFSサポートを機能検出し、ごまかさずにそう伝えます。メモリの範囲内であれば、グリッドは仮想スクロールとページ分割クエリを使うので、大きなテーブルもスムーズに閲覧できます。
