About

DCL (Data Control Language)

Data Control Language


Sumber : https://frieyadie.web.id/penggunaan-data-control-language-dcl/

Pengertian Data Control Language

Data Control Language (DCL) adalah salah satu komponen SQL yang berfungsi untuk melakukan pegontrolan data. Pengontrolan yang dimaksud di sini meliputi pengontrolan terhadap hak user dan pengontrolan terhadap suatu transaksi, apakah akan disimpan secara permanen ke dalam database atau akan dibatalkan. Adanya DCL adalah sebagai alat control keamanan database dan tabel nya.

Membuat Pengguna (User)

Pengguna (user) adalah pemilik satu atau lebih database jika aksesnya diberikan, dan user tersebut berhak melakukan apapun selama akses yang diberikan.
Untuk dapat membuat user di BDMS MariaDB / MySQL bisa dengan cara menggunakan query dibawah ini.

CREATE USER <user_name> IDENTIFIED BY <password>;

Perintah diatas “hanya” untuk membuat user saja, tidak disertai hak akses terhadap database manapun sehingga tentunya apabila di cek tidak menampilkan database.

CREATE USER davina IDENTIFIED BY ‘D4v1n4aja’;

1. Perintah GRANT

Perintah GRANT digunakan untuk memberikan hak akses (privilege) kepada user tertentu. Melalui pemberian hak akses semacam ini, seorang user memiliki keterbatasan dalam menggunakan database sehingga data akan relatif aman dari pihak-pihak yang tidak berkepentingan.  
Hak akses penuh terhadap database dikendalikan oleh user yang diperankan sebagai administrator. Secara default, dalam MariaDB / MySQL hak akses ini dimiliki oleh user root. Meskipun demikian, root bisa membuat akun user lain yang diberi hak administrator.

Contoh :



2. Perintah REVOKE

Perintah REVOKE digunakan untuk mencabut kembali hak akses yang diberikan melalui perintah GRANT

Cara menggunakannya

REVOKE tipe_izin ON nama_database.nama_table FROM 'username'@'localhost';

Jika kita ingin menghapus akses INSERT di user ngodingdata untuk semua database dan table melalui root