← Web / Markdown
DuckDB WebGUI
ブラウザだけで動く DuckDB クライアント。新規 DB 作成・既存 .duckdb ファイル読込・SQL 実行・テーブル一覧・結果グリッド表示・CSV / .duckdb エクスポートに対応。すべてブラウザ内処理。
データベースを準備
新規にメモリ内 DuckDB を作るか、既存の .duckdb ファイルをドラッグ&ドロップ/選択して読み込んでください。暗号化された .duckdb もサポート(AES-256)。
新規 DuckDB を作成
既存 .duckdb ファイルを読み込む
暗号化された .duckdb の場合、自動的にパスワードを尋ねます。
※ すべての処理はブラウザ内で行われ、入力内容・パスワード・データベースファイルは外部に送信されません。 DB はタブを閉じると失われます(メモリ常駐)。継続利用したい場合は「.duckdb をダウンロード」で保存してください。
このツールについて
DuckDB WebGUI は、列指向の高速分析データベース DuckDB をブラウザ上で動かせる WebGUI です。
WebAssembly 版(@duckdb/duckdb-wasm)を利用し、SQL の実行・テーブルの可視化・既存 .duckdb ファイルの読み込みと書き出しまでをすべてブラウザ内で完結させます。
できること
- 新規 DuckDB の作成: メモリ上に空の DB を作成して SQL で自由にスキーマを構築
- 既存 .duckdb ファイルの読み込み: ローカルの DuckDB ファイルをドラッグ&ドロップでオープン
- 暗号化対応(AES-256): 暗号化された
.duckdbをパスワード入力で開けるほか、エクスポート時にパスワードを設定して暗号化済み.duckdbを出力可能 - SQL 実行: 複数文の
;区切りに対応、Ctrl / ⌘ + Enter で即実行 - テーブル一覧 / カラム情報: 左ペインに
information_schemaから取得したテーブルを表示し、目アイコンでSELECT * LIMIT 100を即実行 - 結果のグリッド表示: 行番号付きの表で結果セットを表示。NULL は淡色で区別
- CSV エクスポート: 結果セットを CSV にダウンロード/クリップボードコピー
- .duckdb 書き出し: 現在の DB を 1 ファイルにエクスポートしてダウンロード(暗号化なし / あり選択可)
暗号化の仕組み
DuckDB の組み込み AES-256 暗号化機能を利用します。内部的には ATTACH '...' (ENCRYPTION_KEY 'パスワード') 構文で暗号化キー付きで読み書きし、ロード時はメモリ DB に複製、エクスポート時は新しい暗号鍵で再ATTACH してコピーする方式です。
- パスワードは平文の鍵として扱われます。長くランダムなパスワードを推奨(例:
openssl rand -hex 32)。 - パスワードは localStorage には保存されません。タブを閉じると消えます。
- パスワードを失った場合、暗号化ファイルは 復号できません(バックアップを推奨)。
使い方
- 「新規 DuckDB を作成」または「.duckdb ファイルを読み込む」で DB を準備
- SQL 欄に DuckDB の SQL を入力し、「実行」または Ctrl/⌘ + Enter
- 左のテーブル名をクリックでカラム情報、目アイコンで
SELECT * LIMIT 100 - 必要に応じて結果を CSV ダウンロード、DB 全体を
.duckdbでダウンロード
DuckDB SQL のヒント
CREATE TABLE t AS SELECT * FROM read_csv('https://...')でリモート CSV を取り込み(CORS が許可されている URL のみ)read_parquet('...')で Parquet を直接クエリDESCRIBE my_table;でカラム情報、SHOW TABLES;でテーブル一覧SUMMARIZE my_table;で各列の統計サマリを取得
注意
- DB はタブを閉じると失われます(メモリ常駐)。継続して使う場合は
.duckdbをダウンロードしてください。 - 初回ロード時に DuckDB WASM ランタイム(数 MB)が読み込まれます。
- 巨大なファイルや結果セット(数百万行)はブラウザのメモリ上限を超える可能性があります。
- すべての処理はブラウザ内で行われ、入力内容・データベースファイルは外部に送信されません。