100日後にエンジニアになるキミ - 39日目 - データベース - SQLの基礎2


本日はSQL文についてです。

昨日のはこちら

100日後にエンジニアになるキミ - 38日目 - データベース - SQLの基礎1

データ操作言語(DML)について

おそらく一番用いられる文法はDMLで
主に下記のような文があります。

INSERT : 行データもしくは表データの挿入
UPDATE : 表を更新
DELETE : 表から特定行の削除
SELECT : 表データの検索、結果集合の取り出し

SELECT文が最もボリュームが多く
一番用いられる文法かと思いますが
今日は置いておいて残りの3つについてご紹介します。

INSERT,UPDATE,DELETE
データの追加、更新、削除を行うための文法です。

INSERT

テーブルに対してデータを追加するにはINSERT文を用います。
データを追加するには、あらかじめテーブルが存在していないといけません。

データは1行分のデータを投入する形になります。

書き方:
INSERT INTO テーブル名 VALUES(値1, 値2, ...);

テーブルがない場合は作成しておきましょう。

テーブルがない方はこちらのCREATE文で作成できます。
Excute SQLから右三角ボタンで実行

CREATE TABLE `sample_table3` (
 `id` INTEGER PRIMARY KEY AUTOINCREMENT,
 `name` TEXT NOT NULL,
 `old` INTEGER,
 `address` TEXT
);

Browse Dataからのぞいてみるとデータは無く空っぽのテーブルです。

INSERT文でデータを追加します。

BEGIN TRANSACTION;
INSERT INTO `sample_table3` VALUES ('1','加藤鷹','59','東京都');
INSERT INTO `sample_table3` VALUES ('2','しみけん','34','北海道');
INSERT INTO `sample_table3` VALUES ('3','チョコボール','53','東京都');
INSERT INTO `sample_table3` VALUES ('4','吉村卓','47','愛知県');
COMMIT;

データを確認してみると

データが追加されている事が確認できます。

UPDATE

テーブルに格納されているデータを新しい値に更新するにはUPDATE文を使います。

書き方:
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;

先ほどINSERTしたテーブルに対して更新をかけてみましょう。

UPDATE sample_table3 SET old = 61 WHERE name = '加藤鷹';

実行して結果を確認してみると

指定した条件でデータが変わっています。

条件式

更新対象はWHERE区の条件式を使ってデータを絞り込んで行きます。
条件式はカラム 演算子 値のような形で指定をします。

name = '加藤鷹'
old = 61

nameカラムのような日本語が含まれているTEXT型のデータを指定する場合は
'で文字列を囲んで上げる必要があります。
数値型のカラムの場合はそのまま数値を入力します。
=演算子は値がその値と同じ値であるという意味です。
演算子についてはまた後日詳しくやっていきたいと思います。

UPDATE文ではWHERE区で条件指定をしない場合
SETで指定したカラムの値が全て変わってしまいます。

UPDATE sample_table3 SET old = 72;

データ更新をする場合は条件指定を忘れないように注意しましょう。

DELETE

テーブルからデータを削除するには DELETE 文を使います。

書き方:
DELETE FROM テーブル名 WHERE 条件式;

削除の対象となるデータをWHERE句の条件式を使って指定します。
条件式に一致するデータが複数の場合は、複数のデータがまとめて削除されることになります。
WHERE句を省略した場合はテーブルに含まれる全てのデータが削除されます。

DELETE FROM sample_table3 WHERE address = '北海道';

実行すると条件式に該当する行が削除されています。

条件式を書かない場合は全ての行が削除されます。

DELETE FROM sample_table3;

条件式を書かないと全部消えてしまうので注意が必要です。
DELETE,UPDATEを用いる際は条件式を確認してから行いましょう。

まとめ

データの投入、更新、削除など一連のデータベース操作に慣れておこう。

君がエンジニアになるまであと61日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython