DuckDB - Statements
データベースを操作するSQL文
SQLのステートメント(文)とは、リレーショナルデータベースに対して特定の操作を実行するための命令文のことです。これらのステートメントは、データの取得、挿入、更新、削除など、データベースの管理や操作を行うために使用されます。
DuckDBでは以下のような文が使用可能です。
COPY文
データをデータベースとファイル間でコピーします。
データをDuckDBからファイルにエクスポートする
DuckDBからファイルにデータを出力するには、COPY ... TO
オプションを使用します。
COPY source-database TO target-database ( SCHEMA )
CSVファイルに出力する例。
COPY (SELECT * FROM sample_db)
TO 'export.csv' (HEADER true, DELIM ',')
CREATE TABLE文
データベースにテーブルを作成するための文です。
CREATE TABLE table_name ( column_name type_name )
table_name
で、テーブル名を指定します。
column_name
でカラム名を、type_name
でカラムのデータ型を設定します。
PIVOT文
縦持ちのデータを横持ちのデータに変換する文です。
PIVOT <dataset>
ON <columns>
USING <values>;
ON
句で、列に変換したい列名をしていし、USING
句で集約する方法を指定します。
SELECT文
データベースからデータを取得するため文です。
SELECT select_list
FROM tables
USING SAMPLE sample_expr
WHERE condition
GROUP BY groups
HAVING group_filter
WINDOW window_expr
QUALIFY qualify_filter
ORDER BY order_expr
LIMIT n;
UNPIVOT文
横持ちのデータを縦持ちのデータに変換する文です。
UNPIVOT <dataset>
ON <column(s)>
INTO
NAME <name-column-name>
VALUE <value-column-name(s)>;
ON
句でデータに変換したい列名を指定し、INTO
のNAME
で元の列名を集合した列名、VALUE
で元のデータ値を集合した列名を指定します。