TableSkim は DuckDB、SQLite、Parquet、JSON ファイルに SQL を実行できます。クエリの結果は SQL Result という追加のシートに表示され、ほかのシートと同じように並べ替え、フィルタ、検索、統計、エクスポートができます。
Ctrl+E)で SQL ウィンドウを開きます。
: で画面下部に SQL プロンプトを開きます。

| ファイル | SQL の方言 | 使えるテーブル |
|---|---|---|
| DuckDB データベース | DuckDB | データベースのすべてのテーブルとビュー |
| SQLite データベース | SQLite | データベースのすべてのテーブルとビュー |
| Parquet ファイル | DuckDB | 拡張子を除いたファイル名(sales.parquet → sales) |
| JSON ファイル | DuckDB | 拡張子を除いたファイル名(events.jsonl.gz → events) |
空白、記号、ASCII 以外の文字を含む名前は、SELECT * FROM "多言語サンプル" のようにダブルクォートで囲みます。
SQL を入力し、GUI では Run(Ctrl+Enter)、ターミナル UI では Enter を押します。
この例では demo/examples/iris.csv を File → Convert to Parquet / DuckDB...(TUI は P)で変換し、生成された iris.parquet を開きます。CSV のままでは SQL を実行できません。結果は各品種 50 個体、花びらの長さの平均が 1.462、4.260、5.552 cm の 3 行です。
SELECT species, count(*) AS flowers,
round(avg(petal_length), 3) AS mean_petal_length
FROM iris
GROUP BY species
ORDER BY species
SELECT、WITH、VALUES など)の結果は SQL Result シートに表示され、そのシートに切り替わります。別のクエリを実行すると置き換わります。
ファイルは読み取り専用で開くので、SQL でデータベースやファイルを変更することはできません。SQL では問い合わせと一時テーブル・一時ビューの操作を許可しています。一時テーブルや一時ビューは作成・更新・削除でき、ウィンドウを閉じると消えます。
CREATE TEMP TABLE setosa AS SELECT * FROM iris WHERE species = 'setosa';
SQL による外部ファイルへの書き込み(COPY ... TO、EXPORT、VACUUM INTO)、別のデータベースの接続、拡張機能の読み込み、エンジン設定の変更は拒否します。クエリの結果を保存するには Export View...(ターミナル UI では w)を使ってください。
実行したクエリはすべて履歴に保存され、すべてのウィンドウと以降のセッションで共有されます。
Ctrl+Up / Ctrl+Down で順にたどれます。
Up / Down。
履歴は sql_history という名前のファイルに保存されます。
| プラットフォーム | 場所 |
|---|---|
| Linux | $XDG_STATE_HOME/tableskim/(通常は ~/.local/state/tableskim/) |
| macOS | ~/Library/Application Support/TableSkim/ |
| Windows | %APPDATA%\TableSkim\ |
Microsoft Store 版は専用のフォルダー %LOCALAPPDATA%\Packages\<パッケージ名>\LocalCache\Roaming\TableSkim\ に保存します。アプリをアンインストールすると Windows が削除します。
Tab でカーソル直前の単語を補完します。対象はテーブル名・ビュー名、列名、 SQL のキーワードです。名前. の後ではそのテーブルの列を候補にし、FROM や JOIN で付けた別名も理解します。たとえば SELECT i. FROM iris AS i の SELECT i. では iris の列を補完します。
SELECT * FROM テーブル WHERE ... のような簡単なクエリで足りることも多く、結果は Filter ペインで絞り込めます。
P / D)、変換したファイルを開いてください。