SQL の実行

← 目次

TableSkim は DuckDB、SQLite、Parquet、JSON ファイルに SQL を実行できます。クエリの結果は SQL Result という追加のシートに表示され、ほかのシートと同じように並べ替え、フィルタ、検索、統計、エクスポートができます。

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 を押します。

SELECT City, count(*) AS people, round(avg(Age), 1) AS avg_age
FROM normal
GROUP BY City
ORDER BY people DESC

ファイルは読み取り専用

ファイルは読み取り専用で開くので、SQL でデータベースやファイルを変更することはできません。SQL では問い合わせと一時テーブル・一時ビューの操作を許可しています。一時テーブルや一時ビューは作成・更新・削除でき、ウィンドウを閉じると消えます。

CREATE TEMP TABLE adults AS SELECT * FROM normal WHERE Age >= 20;

SQL による外部ファイルへの書き込み(COPY ... TO、EXPORT、VACUUM INTO)、別のデータベースの接続、拡張機能の読み込み、エンジン設定の変更は拒否します。クエリの結果を保存するには Export View...(ターミナル UI では w)を使ってください。

履歴

実行したクエリはすべて履歴に保存され、すべてのウィンドウと以降のセッションで共有されます。

履歴は sql_history という名前のファイルに保存されます。

プラットフォーム場所
Linux$XDG_STATE_HOME/tableskim/(通常は ~/.local/state/tableskim/)
macOS~/Library/Application Support/TableSkim/
Windows%APPDATA%\TableSkim\

補完

Tab でカーソル直前の単語を補完します。対象はテーブル名・ビュー名、列名、 SQL のキーワードです。名前. の後ではそのテーブルの列を候補にし、FROM や JOIN で付けた別名も理解します。たとえば SELECT n. FROM normal AS n の SELECT n. では normal の列を補完します。

ヒント