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

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

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

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

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

関連項目

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