【SQLite3】SQLでCRUD操作(INSERT/READ/UPDATE/DELETE)

サーバ・DBなどのイメージズを作成している

データベースの作成等について前回ご紹介しました。

データの永続的な保持や利用を目的として、システム開発ではデータベースが使われますが、その利用方法について本日はまとめていきたいと思います。

今日まとめたいこと
  • SQLってなんだ?という初級者の方に向けて、CRUD操作とはなにか?からご説明します。
  • 実際にデータベースを作成 / 操作し、動作確認を実施します。

動作確認を含めてご参照いただければ幸いです。

サーバ・DBなどのイメージズを作成している

【SQLite3】データベースとSQL(実際にDBを作成して接続してみる)

2022年10月14日

目次

CRUD操作とは?

前回の引用ですがSQLとは、データベースを管理・操作するために使用される言語です。

用途
  • データベースに、データを挿入したい。
  • データベースに格納されているデータを参照したい。
  • データベースのデータを、更新したい。
  • データベースから、データを削除したい。

CREATE(作成)・READ(参照)・UPDATE(更新)・DELETE(削除)の4つの操作の頭文字をとって、CRUD操作と言います。

CRUD操作には以下の4種類があり文法も決まっています。

CRUD 内容 SQL
CREATE 作成 INSERT(データの作成・追加)
READ 参照 SELECT(データの参照)
UPDATE 更新 UPDATE(データの更新)
DELETE 削除 DELETE(データの削除)

初期実行(データベースに接続する)

% sqlite3 stockinfo.sqlite3

サンプルと動作確認(INSERT)

INSERT INTO テーブル名称 
    VALUES (値1,値2,値3,...);
禄太
試しに1銘柄(禄太システム)を追加してみます。
前回作成したテーブルの項目順に値を記述していきます。
INSERT INTO list values('9999','禄太システム','20220101',2950,3000,3100,2900,100000);
禄太
以下のように何もエラーが返ってこなければ成功です!

ついでなので、データを複数作っておきます。

INSERT INTO list values('9998','禄太建設','20220101',2950,3000,3100,2900,100000);
INSERT INTO list values('9997','禄太林業','20220101',2950,3000,3100,2900,100000);
INSERT INTO list values('9996','禄太運輸','20220101',2950,3000,3100,2900,100000);

補足(項目を絞ってINSERTする)

禄太
必要な項目だけ、データを追加することも可能です!
注意
ただし、今回作成したテーブル(list)は、【NOT NULL】で制約をかけています。
そのため、空欄を許可していないので、実行するとエラーになりますので、お含みおきください。
INSERT INTO テーブル名称 (項目1,項目2,項目3,...)
    VALUES (値1,値2,値3,...);
#サンプル
INSERT INTO list (MEI_CODE,MEI_MS,TRA_DATE,PRICE) values('0001','禄太警備','20220101',3000);

サンプルと動作確認(READ)

禄太
先ほど作成したデータを参照してみます!
#全ての列を取得する

SELECT * FROM テーブル名称;
#全ての列を取得する

SELECT * FROM list;

条件をつけて参照する

SELECT 項目名1,項目名2 FROM テーブル名称 WHERE 条件式;
SELECT MEI_CODE,MEI_MS FROM list WHERE MEI_CODE > 9998;

ポイント

条件を絞るポイント
  • 全項目を参照するときは、【*】アスタリスクマークで指定する。
  • 項目を絞るときは、項目名を指定する。
  • WHERE句の後に条件式を記述することで、条件に一致したデータのみ抽出できる。

サンプルと動作確認(UPDATE)

UPDATE テーブル名称 SET 変更後の値 WEHERE 条件式;
禄太
条件式に一致するデータ(WHERE句部分)に対して、変更後の値(SET句部分)を設定する。という記述になります。
なお!WHERE句で条件を記述しなかった場合は、全てのデータが更新されてしまうので注意が必要です。
UPDATE list SET MEI_CODE = 0003 WHERE MEI_CODE = 9999;

サンプルと動作確認(DELETE)

DELETE FROM テーブル名称 WHERE 条件式;
禄太
条件式に一致するデータ(WHERE句部分)に対して、データの削除をする。という記述になります。
DELETE FROM list WHERE MEI_CODE = 0003;
禄太
最初SELECTした際は、【3:禄太システム】が存在してましたが、DELETEされた後は、削除されていてSELECTしても出力されないことがご確認いただけると思います!

EOF

CRUD操作について、まとめました。

SQLの基本的な操作ですが、記載方法等とっつきにくかったりするので、基本文法は押さえておいた方が良いかなと思います。

アプリ開発をする際も、必ず使用するものですので、おぼえておいて損はないです!

今日も一緒に学習を進めてくださって、ありがとうございました!

また、次回!