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コマンドの分類と概要

Posted at

SQLコマンドの分類と概要

SQL(Structured Query Language)は、データベースを操作するための言語であり、大きく DDL(データ定義言語)、DML(データ操作言語)、DCL(データ制御言語)、TCL(トランザクション制御言語) の4つに分類されます。本記事では、それぞれのカテゴリと代表的なコマンドについて詳しく解説します。


1. DDL(Data Definition Language:データ定義言語)

DDLは、データベースの構造を定義・変更するためのコマンド群です。テーブル、スキーマ、インデックス などの作成・変更・削除に使用されます。

✅ 主なDDLコマンド

コマンド 説明
CREATE データベースやテーブル、インデックスなどのオブジェクトを作成
ALTER 既存のテーブルやオブジェクトの構造を変更
DROP テーブルやデータベースなどのオブジェクトを削除
TRUNCATE テーブル内の全データを削除し、オートインクリメントをリセット

💡 DDLの使用例

-- テーブルの作成
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(100)
);

-- テーブルの変更(カラムの追加)
ALTER TABLE users ADD COLUMN age INT;

-- テーブルの削除
DROP TABLE users;

2. DML(Data Manipulation Language:データ操作言語)

DMLは、データベース内のデータを操作(追加、更新、削除、取得)するためのコマンド群です。

✅ 主なDDLコマンド

コマンド 説明
INSERT データを追加
UPDATE 既存のデータを更新
DELETE 既存のデータを削除
SELECT データを取得(DQL:Data Query Language に分類されることもある)

💡 DMLの使用例

-- データの挿入
INSERT INTO users (id, name, email, age) VALUES (1, 'Alice', 'alice@example.com', 25);

-- データの更新
UPDATE users SET age = 26 WHERE id = 1;

-- データの削除
DELETE FROM users WHERE id = 1;

-- データの取得
SELECT * FROM users WHERE age >= 20;

3. DCL(Data Control Language:データ制御言語)

DCLは、データベースのアクセス権限やユーザー管理を行うためのコマンド群です。

✅ 主なDDLコマンド

コマンド 説明
GRANT ユーザーに特定の権限を付与
REVOKE ユーザーから特定の権限を剥奪

💡 DCLの使用例

-- ユーザーにSELECT権限を付与
GRANT SELECT ON users TO user1;

-- ユーザーから権限を剥奪
REVOKE SELECT ON users FROM user1;

💡 DCLは主に データベース管理者(DBA) が使用することが多く、一般の開発者が触る機会は少ないです。


4. TCL(Transaction Control Language:トランザクション制御言語)

TCLは、トランザクションの制御を行うためのコマンド群です。データの一貫性や整合性を保つ ために使用されます。

✅ 主なTCLコマンド

コマンド 説明
COMMIT トランザクションの変更を確定
ROLLBACK トランザクションを取り消して元の状態に戻す
SAVEPOINT トランザクションの途中で一時的な保存ポイントを作成

💡 TCLの使用例

-- トランザクションの開始
BEGIN;

-- データの更新
UPDATE users SET age = 30 WHERE id = 1;

-- 変更を確定(コミット)
COMMIT;

-- トランザクションの開始
BEGIN;

-- データの削除
DELETE FROM users WHERE id = 1;

-- 変更をキャンセル(ロールバック)
ROLLBACK;

💡 COMMIT しない限り、データの変更は永続化されません。


✅ SQLコマンドの全体分類まとめ

カテゴリ 主なコマンド 説明
DDL CREATE, ALTER, DROP, TRUNCATE データベース構造の定義・変更
DML INSERT, UPDATE, DELETE, SELECT データの操作
DCL GRANT, REVOKE アクセス制御
TCL COMMIT, ROLLBACK, SAVEPOIN トランザクション制御

🎯 まとめ

・DDL(データ定義言語):テーブルやデータベースの構造を定義・変更
・DML(データ操作言語):データの追加・変更・削除・取得を行う
・DCL(データ制御言語):データベースのアクセス権限を管理
・TCL(トランザクション制御言語):トランザクションの管理

このように、SQLコマンドは用途ごとに整理されています。特に DML(INSERT, UPDATE, DELETE)とTCL(COMMIT, ROLLBACK)を組み合わせることで、安全なデータ管理が可能 になります。適切なSQLコマンドを使い分けて、効率的なデータベース操作を行いましょう!

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?