Armarium マニュアル
SQL
登録したテーブルに対して、SQL で問い合わせや更新ができます。SQL の方言は SQLite です。複数のファイルを JOIN して集計することもできます。
SQL エディターを使う
ツールバーの「SQL」で、SQL エディターを開きます (「SQL を隠す」で閉じます)。
Ctrl+Enterで実行します。範囲を選んでいるときは選択範囲を、選んでいないときはすべてを実行します。;で区切った複数の文は、順に実行します。- テーブル名、列名、キーワード、関数名を補完します。
- 実行中は「キャンセル」で中断できます。
- クエリの履歴 (直近 100 件) から、もう一度実行できます。
テーブルは、SQL 名で参照します。SQL 名は、CSV と TSV ではファイル名、Excel ではブック名とシート名を _ でつないだものです。ワークスペースを参照してください。列名はファイルのヘッダー行から付きます。日本語の列名も使えます。
-- 複数のファイルを結合して集計する
SELECT u.部署, SUM(s.金額) AS 合計
FROM sales s
JOIN users u ON u.id = s.user_id
GROUP BY u.部署
ORDER BY 合計 DESC;
-- Excel のシートと比較する
SELECT b.科目, b.予算, a.実績, a.実績 - b.予算 AS 差異
FROM budget_2026 b
LEFT JOIN actual a USING (科目);
-- 月ごとの合計 (日付の列は ISO 8601 のテキストなので、日付関数が使えます)
SELECT strftime('%Y-%m', date) AS month, SUM(amount) FROM sales GROUP BY 1;
使える文
| 種類 | 文 |
|---|---|
| 問い合わせ | SELECT、WITH ... SELECT、VALUES。再帰 CTE、ウィンドウ関数、FULL OUTER JOIN も使えます。 |
| 更新 | INSERT、UPDATE、DELETE。RETURNING と UPDATE ... FROM も使えます。 |
| 実行計画 | EXPLAIN QUERY PLAN、EXPLAIN |
更新の文は、一つの登録済みテーブルだけを変更できます。
使えない操作
安全のため、次の操作は拒否します。何も実行されません。
CREATE、ALTER、DROP(列や構造の変更は、グリッドの操作で行います)ATTACH、DETACH、PRAGMA、VACUUM、ANALYZE、REINDEX- トランザクションの制御 (
BEGIN、COMMIT、ROLLBACK、SAVEPOINT) - 内部テーブル (
__arm_*、sqlite_*) の参照 rowidの更新- 許可されていない関数の呼び出し
SQL からは、ファイルシステムやネットワークにアクセスできません。ファイルへの書き込みは、保存とエクスポートだけが行います。
結果
- SELECT: 結果をグリッドに表示します (読み取り専用)。「CSV にエクスポート」「Excel にエクスポート」「新しいソースとして保存」ができます。「新しいソースとして保存」は、ファイルを書き出して、ワークスペースに登録します。
- 更新: 「
<テーブル名>の<n>行を変更しました」と表示します。変更したテーブルは「未保存」になり、Ctrl+Sで保存するまでファイルは変わりません。変更は、Ctrl+Zで元に戻せます。 - エラー: エラーメッセージを表示します。
読み取り専用の形式 (.xls など) のテーブルも、SQL で変更できます。その場合の保存は、エクスポートのみです。
追加の関数
SQLite の組み込み関数に加えて、次の関数を使えます。
| 関数 | 用途 |
|---|---|
regexp(pattern, text) |
REGEXP 演算子を使えるようにします。 |
regexp_replace(text, pattern, repl) |
正規表現で置換します。 |
normalize_nfkc(text) |
全角と半角をそろえます (日本語のデータの照合に便利です)。 |
SELECT * FROM sales WHERE normalize_nfkc(name) REGEXP '^アップル';