0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは。
SQLにはCREATE TABLESELECTINSERTGRANT など、さまざまな文が出てきます。
どれも「SQL」と呼ばれますが、SQLにはその役割に応じて DDL / DML / DCL という分類があります。
この記事では、DDL・DML・DCLの3つの分類についてまとめます。

SQLの3つの分類

SQLの文は、大きく次の3つに分類されます。

分類 正式名称 役割 代表的な文
DDL Data Definition Language テーブルやインデックスの定義 CREATE, ALTER, DROP, TRUNCATE
DML Data Manipulation Language データの抽出・追加・更新・削除 SELECT, INSERT, UPDATE, DELETE
DCL Data Control Language 権限の付与・取り消し GRANT, REVOKE

DDL(データ定義言語)

DDLは、データベースやテーブルなどの「構造」を定義・変更・削除する文です。

例:

  • テーブル作成(CREATE)
CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(255) NOT NULL
);
  • カラム追加(ALTER)
ALTER TABLE users ADD COLUMN email VARCHAR(255);
  • テーブル削除(DROP)
DROP TABLE users;

DML(データ操作言語)

DMLは、テーブルの中のデータを操作する文です。

例:

  • データの抽出(SELECT)
SELECT * FROM users WHERE id = 1;
  • データの追加(INSERT)
INSERT INTO users (id, name) VALUES (1, 'Alice');
  • データの更新(UPDATE)
UPDATE users SET name = 'Bob' WHERE id = 1;
  • データの削除(DELETE)
DELETE FROM users WHERE id = 1;

DCL(データ制御言語)

DCLは、データベースへのアクセス権限を制御する文です。

例:

  • 権限の付与(GRANT)
GRANT SELECT, INSERT ON users TO 'app_user'@'localhost';
  • 権限の取り消し(REVOKE)
REVOKE INSERT ON users FROM 'app_user'@'localhost';

まとめ

  • SQLは役割に応じて DDLDMLDCL に分類できる
  • DDLはテーブルの構造を定義する(CREATE, ALTER, DROP
  • DMLはデータを操作する(SELECT, INSERT, UPDATE, DELETE
  • DCLは権限を制御する(GRANT, REVOKE

お読みいただきありがとうございました。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?