本文へスキップ
BecomeCoder

SQL データ操作 (DML)コース · 第0章 データベースってなに? · レッスン0-5

SQL という言語の地図 ― 5つの顔

ブラウザで完結

導入

これから学ぶ SQL には、たくさんの命令が出てきます。SELECTINSERTCREATE TABLECOMMIT…。バラバラに暗記すると大変ですが、実は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"]
分類正式名何をする代表的な命令このコースで学ぶ章
DQLData Query Languageデータを取り出すSELECT本コース 第1〜3章
DMLData Manipulation Languageデータを変えるINSERT UPDATE DELETE本コース 第4章
DDLData Definition Language表を設計するCREATE ALTER DROP姉妹コース「SQLテーブル設計(DDL)」
TCLTransaction Control Language変更をまとめて確定/取消COMMIT ROLLBACK本コース 第5章
DCLData 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;

実際に動かしてみよう

下のエディタにクエリを書いて「実行」を押すと、ブラウザ内のSQLiteで結果が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう。

SQL — ブラウザ内で実行(SQLite)

ブラウザ内でSQLを動かす環境(SQLite)を読み込みます(初回のみ一瞬)。
スクロールして表示された時点でも自動で読み込まれます。