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.
Apa itu DDL?
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 :
create database [if not
exists] sekolah;
create table siswa(nis
char(10) not null primary key,
nama_siswa
char(40), alamat char(50));
Bentuk perintah di atas akan membuat sebuah database baru
dengan nama sekolah dan table siswa. Aturan penamaan sebuah database atau table
sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database
boleh terdiri dari huruf, angka dan under-score (_). Jika database yang akan
dibuat sudah ada, maka akan muncul pesan error. Namun jika ingin otomatis
menghapus database yang lama jika sudah ada, aktifkan option IF NOT
EXISTS.Setiap kita membuat database baru, maka sebenarnya MySQL akan membuat
suatu folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara
default di \mysql\data. Di dalam folder tersebut nantinya akan terdapat
file-file yang berhubungan dengan tabel dalam database.
+ ALTER
- contoh :
- contoh :
alter table siswa add jenkel
char (1);
alter table koleksi add author varchar
(20);
Bentuk perintah di atas akan mengubah suatu table dengan menambahkan variabel jenkel pada table siswa dan variabel author pada table koleksi.
+ RENAME
rename table siswa to pelajar ;
rename table koleksi to barang ;
Bentuk perintah di atas akan mengubah nama suatu table.
Huruf yang berwarna merah menandakan nama table yang baru sedangkan huruf yang
bergaris bawah menandakan table yang akan diganti namanya.
+ DROP
+ DROP
- contoh :
drop database [if exists] nama_database;
drop database [if exists] nama_database;
drop database [if exists] sekolah;
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.
Apa itu DML?
DML atau Data Manipulation Language merupakan perintah
SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam
table. Perintah SQL yang termasuk dalam DML antara lain :
+ SELECT
+ SELECT
- contoh:
select * from siswa;
select * from koleksi;
+ INSERT
- contoh:
insert into siswa(nis,nama_siswa,alamat)
values('091011001','Deby','Jl.
Gajah No. 15');
insert into koleksi(id_koleksi,
title, author, publisher, thn_terbit, stok)
values('103','Sistem Basis Data','Robert','Yudistira','2010','7')
Bentuk perintah di atas akan menambahkan suatu data pada
table yang sudah ditentukan. Contohnya seperti diatas. Huruf yang berwarna
merah menandakan data yang akan ditambahkan. Huruf yang bergaris bawah
menandakan tablenya (siswa, koleksi)dan variable-variabelnya.
+ UPDATE
- contoh:
update siswa set jenkel='L'
where nis='091011001';
update koleksi set author='OneWay'
where id_koleksi='103';
Bentuk perintah di atas digunakan untuk mengubah suatu data
pada table yang sudah ditentukan. Huruf yang berwarna merah menandakan data
yang akan ditambahkan. Huruf yang bergaris bawah menandakan tablenya (siswa,
koleksi) dan variable-variabelnya (nis, id_koleksi).
+ DELETE
-contoh:
delete from siswa where nis='091011001';
delete from koleksi where id_koleksi='103';
Bentuk perintah di atas digunakan
untuk mengubah suatu data pada table yang sudah ditentukan. Huruf
yang berwarna merah menandakan kondisi data yang akan diinginkan. Huruf
yang bergaris bawah menandakan nama tablenya
Apa itu DCL?
DCL atau Data Control Language merupakan perintah SQL
yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server,
database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain
:
+ 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’;
+ 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
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.
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.
Sumber: http://firmanatd.blogspot.com/2012/07/apa-itu-sql-ddl-dml-dan-dcl_15.html
Tidak ada komentar:
Posting Komentar