SQLite Explorer
ローカルの SQLite データベースをブラウザーで開き、テーブル・ビュー・インデックスの閲覧、SQL の実行、結果のエクスポートをファイルをアップロードせずに行えます。
入力内容とファイルはブラウザ内に留まります
データベース
SQLite ファイルをここにドロップ
.sqlite、.sqlite3、.db、.db3、.s3db(最大 512 MiB)。
既定ではオフで、コピーは読み取り専用です。オンにすると、INSERT、UPDATE、スキーマ変更はブラウザーのメモリ上のコピーに適用されます。元のファイルは一切変更されず、変更後のコピーをダウンロードできます。
- ファイル
- モード
- ページ
- エンコーディング
- user_version
- エンジン
このファイルは WAL モードで保存されています。読み込むのはメインファイルのみのため、別の -wal ファイルに残っている変更は含まれません。
スキーマ
データベースにテーブル、ビュー、インデックス、トリガーがありません。
ファイルはこのデバイスから出ません。SQLite は専用の Web Worker 内で WebAssembly として動作し、何もアップロードされず、SQL テキストやデータも保存されません。
SQL
Ctrl または Cmd + Enter で実行します。セミコロンで区切った複数の文は順に実行され、行を返す最後の文の結果が表示されます。
データベースを開き、テーブルを選ぶか SQL を実行すると、ここに行が表示されます。
結果をエクスポート
現在のテーブルまたはクエリの全行をエクスポートします。NULL は CSV では空、JSON では null になり、BLOB 値は hex で書き出されます。
変更後のコピー
変更を含むメモリ上のコピーを新しい SQLite ファイルとしてダウンロードします。ページを閉じる、処理をキャンセルする、別のファイルを開くと変更は失われます。
このページの内容
SQLite Explorer は、ローカルの SQLite データベースをブラウザー上で直接開きます。テーブル、ビュー、インデックス、トリガーを確認し、列や CREATE 文を調べ、行をページ送りで閲覧し、任意の SQL を実行できます。.db ファイルがアップロードされることはありません。
詳細な機能
WebAssembly にコンパイルされた公式の SQLite ビルドが専用の Web Worker で動作し、このページでのみ読み込まれます。選択したファイルは worker のメモリにコピーされます。既定ではコピーは読み取り専用なので、データを変更する文は拒否され、ディスク上の元のファイルには一切触れません。
「メモリ上のコピーへの変更を許可」をオンにすると、コピーに対して INSERT、UPDATE、DELETE やスキーマ変更を実行し、新しいデータベースファイルとしてダウンロードできます。元のファイルには何も書き戻されません。
複数の文を含むスクリプトは順に実行されます。行を返す最後の文が結果になります。SELECT、WITH、VALUES のクエリは一時テーブル(最大 1,000,000 行)に保存され、仮想化されたテーブルがページ単位で読み込みます。PRAGMA、EXPLAIN、RETURNING の出力は最大 10,000 行まで取得されます。テーブルの閲覧時は LIMIT と OFFSET で直接読み込みます。結果はチャンク単位で CSV、JSON、JSONL、SQL の INSERT 文としてエクスポートできます。
実用例
テーブルを見る: スキーマ一覧のテーブルをクリックすると、列、インデックス、外部キー、行が表示されます。
行数を数える: 「行数」の例は、すべてのテーブルにまたがる UNION ALL クエリを組み立てます。
ファイルをチェックする: PRAGMA integrity_check; を実行して、スマートフォンやアプリからコピーしたデータベースを検証します。
コピー上でデータを修正する: 変更を許可し、UPDATE settings SET value = 'on' WHERE key = 'debug'; を実行して、変更後のデータベースをダウンロードします。
このツールの使い方
データベースを開く
.sqlite、.db、.sqlite3 ファイルをドロップするか選択します。スキーマ一覧とファイルの詳細が表示されます。
オブジェクトを閲覧する
テーブルやビューをクリックすると行と構造が、インデックスやトリガーをクリックすると定義が表示されます。
SQL を実行する
例を選ぶか独自のクエリを書き、Ctrl または Cmd + Enter を押します。
エクスポートまたは保存する
現在の結果を CSV、JSON、JSONL、INSERT 文としてエクスポートします。書き込み可能モードでは、変更後のデータベースをダウンロードします。
ヒントとベストプラクティス
- 書き込み可能モードでも元のファイルは変更されません。変更はダウンロードするまでメモリ上のコピーにだけ存在します。
- データベースを使うアプリが WAL モードの場合は、先にアプリを閉じるか checkpoint を実行して -wal の内容をメインファイルに反映させてください。読み込むのはメインファイルのみです。
- 暗号化されたデータベース(SQLCipher など)は開けません。
- 識別子はダブルクォートで囲みます:
SELECT * FROM "order items"。 - キャンセルすると worker が即座に停止してファイルが開き直され、保存していない変更は破棄されます。
- 大きな 64 ビット整数は正確に保たれます。JavaScript の数値では丸められてしまう場合、テキストとして表示・エクスポートされます。