LoginSignup
2
0

More than 3 years have passed since last update.

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

Posted at

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

スクリーンショット 2020-04-28 18.15.15.png

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

スクリーンショット 2020-04-28 18.15.51.png

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;

スクリーンショット 2020-04-28 18.18.12.png

データを確認してみると

スクリーンショット 2020-04-28 18.18.57.png

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

UPDATE

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

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

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

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

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

スクリーンショット 2020-04-28 18.24.40.png

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

条件式

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

name = '加藤鷹'
old = 61

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

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

UPDATE sample_table3 SET old = 72;

スクリーンショット 2020-04-28 18.32.58.png

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

DELETE

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

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

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

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

スクリーンショット 2020-04-28 18.36.22.png

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

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

DELETE FROM sample_table3;

スクリーンショット 2020-04-28 18.37.33.png

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

まとめ

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

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

作者の情報

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

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

Twitter:
https://twitter.com/otupython

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0