本日はSQL文についてです。
昨日のはこちら
[100日後にエンジニアになるキミ - 38日目 - データベース - SQLの基礎1]
(https://qiita.com/otupy/items/a9e952ad53e828f25600)
データ操作言語(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