3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Qiita史上最多記録をつくろう!アウトプットはいいぞカレンダーAdvent Calendar 2022

Day 3

バックエンドのDB操作をSQLのように直感で書けるknex.js(Node.js向けのSQLクエリービルダー)とは

Posted at

はじめに

バックエンド開発で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のガイド

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?