【SQL基礎】SQLの種類
本記事の内容
本記事ではSQLの種類について解説していきます。
SQLについてはこちらの記事を参照してください。
SQLの種類
SQLは大きく分けて以下3種類に分類されます。
1つ目はSELECT、INSERT、UPDATE、DELETEなどの命令文を使うことで、既存のテーブルに格納されているデータを操作するデータ操作言語(DML:Data Manipulation Language)です。
2つ目はデータ定義言語(DDL:Data Definition Language)です。データを検索したり追加したりするにはそもそもデータベース内にテーブルが存在していなければなりません。そこで必要になるのがテーブル自体の作成や削除と各種設定を行うための命令です。テーブル作成をする場合にもSQLを使います。
3つ目は誰にどのような操作を許可するかといった権限を設定するためのデータ制御言語(DCL:Data Control Language)です。
全てのSQL文はこの3種類に分類することができます。
データ操作言語(DML:Data Manipulation Language)
データの格納、取り出し、更新、削除を行うための命令。
(例) SELECT、INSERT、UPDATE、DELETE
データ定義言語(DDL:Data Definition Language)
データを格納するためのテーブルの作成や削除、テーブルに関する各種設定を行うための命令。
(例) CREATE TABLE、ALTER TABLE、DROP TABLE
データ制御言語(DCL:Data Control Language)
DMLやDCLの使用を許可したり禁止するための命令。
(例) GRANT、REVOKE、COMMIT、ROLLBACK
DCLとは
データ制御を行うDCLについて少し深堀しておきます。
DCLは誰にどのような操作を許可するかという権限を設定するためのSQL命令文の総称です。権限を付与する場合はGRANT文、権限を剥奪する場合はREVOKE文を使います。
記述方法は以下の通りです。
GRANT 権限名 TO ユーザ名
REVOKE 権限名 FROM ユーザ名
※権限名やユーザ名の記述は使用するDBMSによって異なります。
これらの命令文はデータベース管理者が使用する命令です。
DCLを使うことでユーザー単位、テーブル単位にDMLやDDLの使用を制限できます。
その他の命令文の記述方法については別記事に記載してありますのでそちらを参照してください。