데이터 제어 언어(영어: Data Control Language, DCL)는 데이터베이스에서 데이터에 대한 액세스를 제어하기 위한 데이터베이스 언어 또는 데이터베이스 언어 요소이다. 권한 부여(GRANT)와 박탈(REVOKE)이 있으며, 설정할 수 있는 권한으로는 연결(CONNECT), 질의(SELECT), 자료 삽입(INSERT), 갱신(UPDATE), 삭제(DELETE) 등이 있다.
SQL의 주요 데이터 제어 언어는 다음과 같다.
SQL의 GRANT 및 REVOKE 데이터베이스 사용자로 설정할 수 있는 권한에는 다음과 같은 것이 있다.
오라클 데이터베이스에서는 데이터 제어 언어의 명령 실행은 암시적 커밋을 수반한다. PostgreSQL에서는 데이터 제어 언어의 명령 실행은 트랜잭션의 맥락에서 이루어지므로 롤백을 할 수 있다.