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