データ制御言語

データ制御言語 (データせいぎょげんご、DCL; 英: Data Control Language) は、コンピュータのデータベースにおいてデータに対するアクセス制御を行うためのデータベース言語もしくはデータベース言語要素である。

SQLの主なデータ制御言語は次のとおりである。
 GRANT - 特定のデータベース利用者に特定の作業を行う権限を与える
 REVOKE - 特定のデータベース利用者から既に与えた権限を剥奪する

SQLの GRANT および REVOKE でデータベース利用者に設定できる権限には次のようなものがある。
 CONNECT - データベースもしくはスキーマに接続する権限
 SELECT - データベースからデータを検索する権限
 INSERT - データベースにデータを新規登録する権限
 UPDATE - データベースのデータを更新する権限
 DELETE - データベースのデータを削除する権限
 USAGE - スキーマや関数などのデータベースオブジェクトを利用する権限

Oracle Database においては、データ制御言語の命令の実行は暗黙的なコミットを伴う。

PostgreSQL においては、データ制御言語の命令の実行はトランザクションの文脈で行われ、ロールバックを行うことが可能である。

関連項目 

 データベース言語
 データ操作言語 (DML)
 データ定義言語 (DDL)

問い合わせ言語
データモデリング