Bahasa kontrol data adalah subset dari Structured Query Language (SQL), yang biasanya digunakan untuk mengekstrak dan mengontrol informasi yang disimpan dalam database. Sedangkan bahasa SQL dasar berurusan dengan manipulasi data dalam database, bahasa kontrol data berkaitan dengan pemberian otoritas pengguna akhir tertentu untuk mengeksekusi jenis perintah tertentu dalam database. Bahasa kontrol data memberi administrator database kemampuan untuk memanipulasi dan menyesuaikan hak istimewa pengguna akhir untuk menegakkan keamanan dan memelihara hierarki kontrol atas informasi dalam database.
Seperti SQL, bahasa kontrol data adalah bahasa alami. Ini berarti bahwa perintah yang digunakan dalam bahasa berusaha sebebas mungkin dari jargon dan ambiguitas, menyediakan lingkungan yang lebih ramah untuk memungkinkan individu yang tidak terlalu paham teknologi untuk memanfaatkan fitur database. Tidak seperti bahasa lain seperti C++, Java, dan Visual Basic, yang menggunakan perintah yang secara intuitif tidak dapat dipahami oleh orang awam, SQL dan bahasa kontrol data diformulasikan untuk membuat string perintah mereka cukup mendasar. Misalnya, dalam SQL, perintah “PILIH Semua Dari Karyawan WHERE Gaji>=50,000” akan mengembalikan daftar semua individu dalam database “Karyawan” yang gajinya sama atau melebihi $50,000 Dolar AS (USD).
Bahasa kontrol data sedikit berbeda, karena tujuannya adalah untuk memanipulasi hak istimewa daripada informasi dalam database. Dua perintah yang paling menonjol dalam bahasa kontrol data adalah elemen GRANT dan REVOKE. Melalui ini, seperti namanya, administrator basis data dapat memberikan atau menolak hak istimewa tertentu kepada pengguna akhir basis data. Keistimewaan umum termasuk kemampuan untuk terhubung dengan database melalui perintah CONNECT; pilih baris dan kolom dari database melalui perintah SELECT; masukkan informasi baru ke dalam database melalui perintah INSERT; memperbarui informasi yang ada dalam database melalui perintah UPDATE; hapus informasi yang ada dari database melalui perintah DELETE; atau mengeksekusi perintah atau kode tertentu dalam database melalui perintah EXECUTE.