データ制御言語
データ制御言語 (データせいぎょげんご、DCL; 英: Data Control Language) は、コンピュータのデータベースにおいてデータに対するアクセス制御を行うためのデータベース言語もしくはデータベース言語要素である。
SQLの主なデータ制御言語は次のとおりである。
GRANT - 特定のデータベース利用者に特定の作業を行う権限を与える
REVOKE - 特定のデータベース利用者から既に与えた権限を剥奪する
SQLの GRANT および REVOKE でデータベース利用者に設定できる権限には次のようなものがある。
CONNECT - データベースもしくはスキーマに接続する権限
SELECT - データベースからデータを検索する権限
INSERT - データベースにデータを新規登録する権限
UPDATE - データベースのデータを更新する権限
DELETE - データベースのデータを削除する権限
USAGE - スキーマや関数などのデータベースオブジェクトを利用する権限
Oracle Database においては、データ制御言語の命令の実行は暗黙的なコミットを伴う。
PostgreSQL においては、データ制御言語の命令の実行はトランザクションの文脈で行われ、ロールバックを行うことが可能である。