導入
これから学ぶ SQL には、たくさんの命令が出てきます。SELECT・INSERT・CREATE TABLE・COMMIT…。バラバラに暗記すると大変ですが、実は5つのグループに整理できます。先にこの「地図」を持っておくと、どの命令が今どのあたりの話なのか、迷子になりません。
説明
SQL の命令は、役割によって次の5分類に分かれます。
flowchart TB
SQL["SQL の命令"]
SQL --> DQL["DQL(問い合わせ)<br/>データを取り出す<br/>SELECT"]
SQL --> DML["DML(データ操作)<br/>中身を追加・変更・削除<br/>INSERT / UPDATE / DELETE"]
SQL --> DDL["DDL(データ定義)<br/>表そのものを作る・変える・消す<br/>CREATE / ALTER / DROP"]
SQL --> TCL["TCL(トランザクション制御)<br/>変更をまとめて確定・取消<br/>COMMIT / ROLLBACK"]
SQL --> DCL["DCL(権限制御)<br/>誰に何を許すか<br/>GRANT / REVOKE"]
| 分類 | 正式名 | 何をする | 代表的な命令 | このコースで学ぶ章 |
|---|---|---|---|---|
| DQL | Data Query Language | データを取り出す | SELECT | 本コース 第1〜3章 |
| DML | Data Manipulation Language | データを変える | INSERT UPDATE DELETE | 本コース 第4章 |
| DDL | Data Definition Language | 表を設計する | CREATE ALTER DROP | 姉妹コース「SQLテーブル設計(DDL)」 |
| TCL | Transaction Control Language | 変更をまとめて確定/取消 | COMMIT ROLLBACK | 本コース 第5章 |
| DCL | Data Control Language | 権限を管理する | GRANT REVOKE | 姉妹コース「DDL」で紹介 |
補足:
SELECTは DML に含めて「4分類」とする流儀もあります。分類の呼び方より、「取り出す・変える・設計する・確定する・権限」という役割の違いをつかむことが大切です。
SQL の学習は、この地図の上を歩くことです。この「SQL データ操作(DML)」コースは、データを取り出す・変える側(DQL・DML・TCL)を担当します。いちばん使う DQL(取り出す) から始め、集計・JOIN・データ変更・トランザクション、さらに実務のクエリへと進みます。一方、表そのものを作る・設計する側(DDL=CREATE TABLE・制約・正規化・インデックスなど)は、姉妹コース 「SQL テーブル設計(DDL)」 でじっくり扱います。2つは車の両輪です。
例として、products から「商品ID・名前・価格」の3列だけを取り出してみましょう(これは DQL です)。
SELECT id, name, price FROM products;
やってみよう
初期表示のクエリを実行し、商品の一部の列だけがきれいに並ぶことを確認しましょう。これが地図でいう「DQL(取り出す)」の入口です。上の表を見ながら、「INSERT はどのグループ?」「CREATE TABLE は?」と、頭の中で分類してみてください。
演習
users テーブルから「名前(name)と都市(city)」の2列だけを取り出してください(これも DQL です)。
ヒント1を見る
欲しい列名をカンマで並べます。SELECT name, city FROM users;