🕺
Typescript で Kysely を使って、SQLite の集計処理をかんたんにやる
集計処理などのバッチプログラムを作成するときに、kysely を使うと簡単にできるので良かったです。
npm モジュールのインストール
npm install better-sqlite3 kysely
ソースコード
count.ts
import { Kysely, SqliteDialect, sql } from 'kysely'
import SQLite from 'better-sqlite3'
// データベース参照を初期化
const db = new Kysely({
dialect: new SqliteDialect({ database: new SQLite('./test.db') }),
})
// テーブル作成
await sql`CREATE TABLE user (name string, age number, gender string)`.execute(db)
// データ挿入
await sql`INSERT INTO user(name, age, gender) VALUES('coji', 46, 'male')`.execute(db)
// 集計
const { rows } = await sql<{ user_count: number }>`SELECT count(*) AS user_count FROM user`.execute(db)
console.log('user_count', rows[0].user_count)
実行
npx tsx count.ts
実行結果
user_count 1
らくちーん。
Discussion