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