Senin, 22 September 2014

Diposting oleh Arief Dwi Pranata | 0 komentar

PEMROGRAMAN SQL PART III

DML (Data Manipulation Languange) dan DCL (Data Control Language)

DML 
DML adalah kependekan dari Data Manipulation Language. DML adalah kumpulan perintah SQL yang berhubungan dengan proses mengolah dan memanipulasi data dalam table. DML tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.

1. SELECT digunakan untuk menampilkan data

 Contoh : SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel;
SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel WHERE kondisi; ( kondisi misal alamat = banjarmasin )
2. INSERT digunakan untuk menambahkan data baru
 Contoh : insert into mahasiswa (npm,nama,alamat) values (‘0401034’,’ Abdul Malik Ikhsan’,’Jalan Jakarta No.28’);
3. UPDATE digunakan untuk mengubah data yang sudah ada

 Contoh : update mahasiswa set npm=’001’ where npm=’0401034’;

4. DELETE digunakan untuk menghapus data
 Contoh : delete from mahasiswa (menghapus semua isi tabel mahasiswa )
delete from mahasiswa where npm = ‘001’; ( hanya menghapus isi tabel mahasiswa dengan NPM 001 )


DCL


DCL merupakan singkatan dari Data Control Language, konsep ini digunakan untuk merubah hak akses, memberikan roles, dan isu lain yang berhubungan dengan keamanan database. DCL atau Data Control Language merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field.
Ada dua perintah SQL yang termasuk dalam DCL yaitu GRANT dan REVOKE.
  • GRANT SELECT, UPDATE
    Grant digunakan untuk mengatur izin akses pada kolom yang ditentukan saja. Konfigurasi izin akses columns_priv ini lebih sedikit dibandingkan dengan tabel tables_priv. Hak akses yang diizinkan meliputi select, insert, update dan references.

     grant update(nama) on nm_db.nm_tbl to nm_user@localhost identified by ‘nm_passwd’;
    Dari perintah diatas user tersebut akan bisa melakukan perintah update pada kolom nama saja. Seperti contoh dibawah :

    update nm_tbl set nama=’nm_baru’ where id=23;
    Selain penggunaan diatas kita bisa juga melakukan penampilan untuk kolom tertentu dan ada juga kolom yang bisa di update juga. Maka kita bisa menggunakan kombinasi seperti ini.

    grant select(id,nama,alamat,usia), update(alamat,usia) on nm_db.nm_tbl to nm_user@localhost identified by ‘nm_passwd’;
  • REVOKE SELECT, UPDATE
    Revoke merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut kembali. 

    Menghapus Akses Penuh

    revoke all on *.* from nm_user@localhost identified by ‘nm_passwd’;

    Perintah diatas membuat salah satu user tidak mempunyai izin akses lagi. Meski sudah dicabut aksesnya user tersebut masih dapat login ke database MySQL tapi tidak perlu khawatir karena user tersebut tidak bisa berbuat apa-apa lagi.

    Menghapus Akses Database

    revoke all on nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’;

    Perintah diatas izin akses user pada tabel tertentu telah dicabut sehingga tidak bisa mengakses kembali.

    Menghapus Akses Kolom

    revoke update(nama) on nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’;

    Peintah diatas akan mencabut akses untuk kolom yang telah ditentukan sebelumnya.
     
     
    screenshooot peraktik yang dilakukan minggu lalu :


0 komentar: