Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【SQL】4種類の命令(DML, DDL, TCL, DCL)

Last updated at Posted at 2021-08-13

この本を読み、SQL命令の分類を知る事で頭の整理ができたなと思うので、備忘録を書いておく。

4種類のSQL命令(DML, DDL, TCL, DCL)

SQLの命令は、大きく4つの種類に分類することができます。

①データ操作言語 DML (Data Manipulation Language)
②トランザクション制御言語 TCL (Transaction Control Language)
③データ定義言語 DDL (Data Definition Language)
④データ制御言語 DCL (Data Control Language)

それぞれの内容は以下の通りです。

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

DMLはデータ操作言語と呼ばれ、データの格納・取り出し・更新・削除などに使用する命令です。
4大命令(SELECT・INSERT・UPDATE・DELETE)がこれにあたります。

命令 説明
SELECT テーブルからレコードを抽出する
INSERT テーブルにレコードを新規登録する
UPDATE テーブルのレコードを更新する
DELETE テーブルのレコードを削除する
LOCK TABLE 排他的制御の為、テーブルをロックする
EXPLAIN SQLの実行プランを調べる

##トランザクション制御言語 TCL (Transaction Control Language)
TCLはトランザクション制御言語と呼ばれ、トランザクションの開始や終了に使用する命令です。

命令 説明
COMMIT トランザクション処理中の変更を確定させる
ROLLBACK トランザクション処理中の変更を取り消す
SET TRANSACTION トランザクションの設定を行う
SAVEPOINT トランザクション処理中のロールバックするポイントを作成する

##データ定義言語 DDL (Data Definition Language)
DDLはデータ定義言語と呼ばれ、テーブルの作成・削除や、各種設定に使用する命令です。

命令 説明
CREATE テーブルを新規作成する
DROP 既存のデータベースオブジェクトを削除する
ALTER 既存のデータベースオブジェクトを変更する
TRUNCATE テーブル内のデータを全削除する
RENAME 既存のデータベースのオブジェクトの名前を変更する
COMMENT データベースのオブジェクトのコメントを定義、または変更する

※TRUNCATEは、データを全削除してテーブルを初期化する命令。テーブルを一度DROPして、同じものをCREATEするイメージ。

##データ制御言語 DCL (Data Control Language)
DCLはデータ制御言語と呼ばれ、DML(データ操作言語)やDDL(データ定義言語)の利用に関する許可や禁止を設定する命令です。

命令 説明
GRANT ユーザーまたはユーザーグループに対して権限(アクセス権)の付与を行う
REVOKE ユーザーまたはユーザーグループに対して権限(アクセス権)の剥奪を行う

※これらは、データベースの全権を管理する立場の人だけが使う命令。


#####注) SQL命令分の分類は、DBMS製品によって異なることがある。
8
13
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

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?