本日は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