STUDY_LOG_KOTA

IoT, Webプログラミングなどの学習記録をします。

Node.js超入門 5章 - SQLite3 データベース作成 / sqlite3モジュールで読み込み

f:id:kota_ly:20220111002628p:plain

前置き

 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でデータベース作成
 次図のようにデータベースを作成しました。

 f:id:kota_ly:20220119005447p:plain

 4人分のレコードを持ったアドレス帳のようなものです。
 え、ツールで作るのと思いましたが、SQL言語を学ぶ敷居を下げるための図らいでしょうか。わかりませんが、お陰で言葉を覚えることに集中できました。

データベースへのアクセスと表示

ーrequire sqlite3モジュール
sqlite3モジュールでデータベースへアクセスし、レンダリングした様子がこちらです。

f:id:kota_ly:20220119010126p:plain

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(削除)
 以上の略だそうです。略語でホッとしました。

パラパラページをめくると、結構長いサンプルプログラムがずらずらと書いてあります。もしかすると、明日、明後日、かかってしまうかも。

読んでいただきありがとうございました。
本日はここまで