はじめに
バックエンド開発でNode.js + express を使用する際に、DB操作をどのライブラリを使用したら良いかと思って、たどり着いたのがknex.jsというNode.js向けのSQL Query Builderでした。
本記事はknex.jsの検索、登録、更新、削除の文法をSQLと対比して説明する。
knex.jsとは
Node.js向けのSQLクエリービルダーである。以下のデータベースに対応している。
PostgreSQL, CockroachDB, MSSQL, MySQL, MariaDB, SQLite3, Better-SQLite3, Oracle, and Amazon Redshift
※Knex.jsの公式ページから引用
SQLの文法とknex.jsの文法の対比
全件検索
SQLの場合
select * from users;
knexの場合
knex.select('*')
.from('users')
条件検索
SQLの場合
select * from users where id = 1;
knexの場合
knex.select('*')
.from('users')
.where('id', 1)
登録
SQLの場合
insert into users (id, name) values (1, 'Yamada Taro');
knexの場合
knex('users').insert({id: 1, name: 'Yamada Taro'})
更新
SQLの場合
update users set name = 'Yamada Hanako' where id = 1;
knexの場合
knex('users')
.update({
name: 'Yamada Hanako'
})
.where('id', 1)
削除
SQLの場合
delete from users where id = 1;
knexの場合
knex('users')
.del()
.where('id', 1)
さいごに
本記事は、一般的なknex.jsの検索、登録、更新、削除の文法を説明した。
knex.jsの詳細の機能、文法について、下記ガイドを参照ください。
knex.jsのガイド