Node.js超入門 5章 - SQLite3 データベース作成 / sqlite3モジュールで読み込み
前置き
5章「データベースを使おう!」が始まりました。
ここではSQLite3というデータベースで、データベースへのアクセス方法、値のチェック方法(バリデーション)について学びます。
本日は、データベース作成、データベースへのアクセスまで行いました。
もくじ
5−1)SQLデータベースとは
5−2)データベース作成(DB Browser for SQLite3)
5−3)データベースへのアクセスと表示
5−4)次回
記事本文
SQLデータベースとは
ーSQL言語対応か否か
SQLはデータベースにアクセスするための言語です。SQLはなにかの略語ではないそうです。もともとSEQUEL(structured english query language)として開発をしていたそうですが、IBMが先にSEQUELという言葉を違う用途で使ってたので商標問題を避けるためにSQLとしたそうです。
SQL言語以外に、様々なデータを高速に扱える非SQLがあるということも書かれていました。
ーサーバ型とローカル型
今回はローカルにデータベースを起き、アクセスをするローカル型で試しました。
ーデータベースの構造
データベースは扱うデータを事前に定義するそうです。受けた印象は構造体のようなイメージです。
言葉としては「データベース、テーブル、カラム、レコード、フィールド」を覚えました。
データベースの作成
ーDB Browser for SQLite3でデータベース作成
次図のようにデータベースを作成しました。
4人分のレコードを持ったアドレス帳のようなものです。
え、ツールで作るのと思いましたが、SQL言語を学ぶ敷居を下げるための図らいでしょうか。わかりませんが、お陰で言葉を覚えることに集中できました。
データベースへのアクセスと表示
ーrequire sqlite3モジュール
sqlite3モジュールでデータベースへアクセスし、レンダリングした様子がこちらです。
sqlite3モジュールの機能を使って次の手順で表示までを行いました。
1)Databaseオブジェクトの取得
・・・const db = new sqlite3.Database('ファイル名')
2)Databaseオブジェクトのシリアライズ
・・・なくても動くけど大量のデータでは必須らしい
3)レコードをすべて or 一つづつ取り出す
・・・db.all(クエリー文, 取り出したあとの処理)
・・・db.each(クエリー文, 関数1, 関数2)
上の図は、db.all()で取り出したオブジェクトをfor文で回して出力しています。db.each()の場合、レコード単位でオブジェクトを取得するようです。
{id: 1, name: kota, mail : .......} のような単位です。
次に学ぶこと
ー データベースの基本「CRUD」とは? です。
Create(新規保存)
Read(読み込み)
Update(更新)
Delete(削除)
以上の略だそうです。略語でホッとしました。
パラパラページをめくると、結構長いサンプルプログラムがずらずらと書いてあります。もしかすると、明日、明後日、かかってしまうかも。
読んでいただきありがとうございました。
本日はここまで