SQL

【DB基礎】4種類のSQL命令(DML, DDL, TCL, DCL)とは

SQLの命令の分類上手く思い出せないな.

こういった状態を解決します。

この記事では、データベースの4種類のSQL命令についてまとめてみました。

【DB基礎】4種類のSQL命令(DML, DDL, TCL, DCL)とは

前提として、データベースを使うのには2つの立場があります。

  1. データベースの操作を支持する立場 (DML, TCL)
  2. データベース自体の操作を支持する立場 (DDL, DCL)

具体的には、「データベースにデータの出し入れを支持する立場」と「その立場の人が、効率よく、安全にデータの出し入れができるよう必要なテーブル準備や各種設定を支持する立場」です。

引用: スッキリ分かるSQL入門第二版

ここから命令の内容を確認していきましょう。

データの操作を支持するDML・TCL

データ操作言語・DML

DML(Data Manipulation Language)とは、データの格納や取り出し、更新、削除などの命令の総称です。

DMLの例には以下のようなものがあります。

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • EXPLAIN
  • LOCK TABLE

データベース内のテーブルへ行う操作ですね。

テーブルの中のデータを取得したり、削除したりという感じ。

トランザクション制御言語・TCL

TCL(Transaction Control Language)とは、トランザクションの開始や終了の命令の総称です。

TCLの例には以下のようなものがあります。

  • COMMIT
  • ROLLBACK
  • SET TRANSACTION
  • SAVEPOINT

TCLも同じく、データベース内のテーブル操作を支持する命令です。

一部のDBMS製品などでは、BEGIN・COMMIT・ROLLBACKは、DCLに分類される場合もあります。

データベース自体の操作を支持する立場DDL・DCL

データ定義言語・DDL

DDL(Data Definition Language)とは、テーブルなどの作成や削除、各種設定など命令の総称です。

DDLには以下のようなものがあります。

  • CREATE
  • ALTER
  • DROP
  • TRUNCATE

データベース内のテーブル自体への命令ですね。

テーブルそのものを作ったり、削除したりという感じです。

データ制御言語・DCL

DCL(Data Control Language)とは、DMLやDDLの利用に関する許可や禁止を設定する命令の総称です。

DCLには以下のようなものがあります。

  • GRANT
  • REVOKE

DCLは誰にどのようなデータ・テーブルを操作させるかなどの権限を設定する命令です。

ユーザーAはテーブルBを操作してもよい、などの許可を与えたりします。

参考情報

  • スッキリ分かるSQL入門第二版

こちらの本を参考にしました。読みやすく、問題もついているのでSQLが身につきます。