In informatica il Data Control Language (DCL) è una parte del più esteso linguaggio SQL che comprende i costrutti necessari per fornire o revocare agli utenti i permessi necessari per poter utilizzare i comandi di Data Definition Language (DDL) e Data Manipulation Language, oltre agli stessi comandi DCL (che gli servono a sua volta per poter modificare i permessi su alcuni oggetti).
Lo standard SQL non specifica in quale modo debba essere possibile creare, eliminare o modificare gli utenti di un database. La maggior parte dei DBMS a tale scopo implementa i comandi non standard CREATE USER (che crea un utente e specifica quali permessi deve avere) e DROP USER (che elimina un utente). Per la modifica, alcuni DBMS implementano ALTER USER, ma non è un comando molto diffuso, mentre è più diffuso SET PASSWORD.
Il comando Grant fornisce uno o più permessi a un determinato utente su un determinato oggetto del database (es: il permesso di inserimento in una tabella).
GRANT ''privilegi''
ON ''oggetti''
TO { PUBLIC | ''nome_ddde'' [, ...] }
[ WITH GRANT OPTION ]
Il comando Revoke revoca uno o più permessi a un determinato utente su un determinato tipo di oggetti (es: il permesso di cancellazione da una tabella).
REVOKE [ GRANT OPTION FOR ] ''privilegi''
ON ''oggetto''
FROM { PUBLIC | ''nome_utente'' [, ...] }
{ RESTRICT | CASCADE }