TUGAS 2
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.
Terdapat 3 (tiga) jenis perintah SQL, yaitu DDL, DML dan DCL.
DDL atau Data Definition Language merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
+ CREATE
- contoh :
Bentuk perintah di atas akan mengubah suatu table dengan menambahkan variabel jenkel pada table siswa dan variabel author pada table koleksi.
rename table siswa to pelajar ;
+ DROP
drop database [if exists] nama_database;
Bentuk perintah di atas akan menghapus kolom dan indeks dengan nama nama_database dan sekolah. Jika databasenya ada maka database dan juga seluruh tabel di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan error. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database benar-benar ada.
+ SELECT
-contoh:
delete from siswa where nis='091011001';
Apa itu DCL?
+ GRANT
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.
Contoh penggunaan izin akses kolom :
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 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.