こういった状態を解決します。
この記事では、データベースの4種類のSQL命令についてまとめてみました。
目次
【DB基礎】4種類のSQL命令(DML, DDL, TCL, DCL)とは
前提として、データベースを使うのには2つの立場があります。
- データベースの操作を支持する立場 (DML, TCL)
- データベース自体の操作を支持する立場 (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が身につきます。