この本を読み、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製品によって異なることがある。