DuckDBのインストール
Windowsのパッケージマネージャーであるscoop
を使って、インストールしました。
scoop install duckdb
CLIで使用する
DuckDBはCLIからも操作できます。起動すると、D
で始まるプロンプトが表示されます。
duckdb [OPTIONS] [FILENAME]
インメモリデータベースとして起動する
インタラクティブに使うにはduckdb
コマンドを実行し、DuckDBを起動します。
duckdb
ファイル名を指定しなければインメモリデータベースとして起動します。
データベースを指定して起動する
引数にファイル名を指定すると、データを保持できます。
dubckdb test.db
ドットコマンド
DuckDB内で使用可能なコマンド。先頭にドット.
が付きます。
カレントディレクトリを変更する
.cd
コマンドを実行することで、カレントディレクトリを変更できます。
.cd DIRECTORY
出力フォーマットを変更する
.mode
コマンドを実行することで、SQL実行結果のフォーマットを変更できます。
CSVで出力する
.mode csv
Markdownの表形式で出力する
.mode markdown
SQLの実行結果を1回のみファイルに保存する
.once [OPTIONS] <filename>
SQLファイルを読み込む
.read
コマンドを実行することで、SQLファイルを実行できます。
.read sample.sql
SQL
句
ORDER BY句
ORDER BY expr
指定した条件で行をソートします。
ORDER BY expr DESC
指定した例を降順でソートします。
データ型
数値データ型
Name | 説明 |
---|---|
TINYINT |
8 ビット符号付き整数 |
SMALLINT |
16 ビット符号付き整数 |
INTEGER |
32 ビット符号付き整数 |
BIGINT |
64 ビット符号付き整数 |
HUGEINT |
128 ビット符号付き整数 |
浮動小数点型
Name | 説明 |
---|---|
REAL |
4 バイト倍精度浮動小数点数 |
DOUBLE |
8 バイト倍精度浮動小数点数 |
文字型
DuckDBではVARCHAR
型しかありません。互換性のために、VARCHAR(n)
という形が使えますが、文字列の長さを指定するためには機能しないので、使い分ける必要はありません。
Name | 説明 |
---|---|
VARCHAR |
可変長文字列 |
VARCHAR(n) |
可変長文字列。n に数字をいれても意味はない。 |
式
キャスティング
CAST (expr AS type-name)
キャストとは、指定したexprt
の値を別のtype-name
データ型の対応する値に変換する操作です。
浮動小数点型に変換する例
CAST(Intensity AS DOUBLE)
関数
数値操作
round(v NUMERIC, s INT)
round()
関数は、v
の小数点以下s
桁に丸めた値を返します。
- 小数点以下第1位で四捨五入する場合
D SELECT ROUND(123.456, 1) AS Result;
┌──────────────┐
│ Result │
│ decimal(6,1) │
├──────────────┤
│ 123.5 │
└──────────────┘
結果は123.5
となります。
- 整数部で丸める場合
D SELECT ROUND(123.456, -1) AS Result;
┌──────────────┐
│ Result │
│ decimal(6,0) │
├──────────────┤
│ 120 │
└──────────────┘
結果は120
となります。
文字列操作
rtrim(string, charactes)
rtrim()
関数は、string
の右側からcharacters
で指定した文字をすべて削除します。
例
rtrim(Intensity, '%')
集計関数
SELECT
句およびHAVING
句のみで使える関数です。
一般集計関数
平均
avg(arg)
平均値を返します。
合計
sum(arg)
合計値を返します。
統計集計関数
stdev_pop(x)
母集団の標準偏差を返します。
stdev_samp(x)
標本の標準偏差を返します。