データベースの作成等について前回ご紹介しました。
データの永続的な保持や利用を目的として、システム開発ではデータベースが使われますが、その利用方法について本日はまとめていきたいと思います。
今日まとめたいこと
- SQLってなんだ?という初級者の方に向けて、CRUD操作とはなにか?からご説明します。
- 実際にデータベースを作成 / 操作し、動作確認を実施します。
動作確認を含めてご参照いただければ幸いです。
目次
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,...);
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句で条件を記述しなかった場合は、全てのデータが更新されてしまうので注意が必要です。
なお!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の基本的な操作ですが、記載方法等とっつきにくかったりするので、基本文法は押さえておいた方が良いかなと思います。
アプリ開発をする際も、必ず使用するものですので、おぼえておいて損はないです!
今日も一緒に学習を進めてくださって、ありがとうございました!
また、次回!
前回作成したテーブルの項目順に値を記述していきます。