M ODUL II
DM L (DATA M ANIDNULATION LANGUAGE)
Tujuan Praktikum:
1. M ahasisw a mampu memahami perintah DM L.
2. M ahasisw a mampu memahami dan memanipulasi data dalam basis data.
Dasar Teori
Data manidnulation language (DM L) merupakan perintah SQL yang digunakan untuk
memanidnulasi database. Perintah DM L diantaranya sebagai berikut :
1.
Insert
Digunakan untuk memasukkan data ke dalam tabel.
2.
Select
Digunakan untuk memilih dan menampilkan data.
3.
Update
Digunakan untuk mengubah data dalam tabel.
4.
Delete
Digunakan untuk menghapus data dari table
Kegiatan Praktikum
1.
INSERT
Terdapat beberapa sintaks umum yang digunakan untuk pengisian data ke dalam tabel.
a.
Insert into <nama_tabel> values (daftar nilai), (daftar nilai), ...
Perintah di atas berfungsi untuk mengisikan data ke dalam tabel secara urut dari kolom paling kiri
hingga paling akhir. Values yang diberikan harus sama jumlahnya dengan kolom yang tersedia di
dalam tabel. Contoh:
insert into dosen values (‘0623018001’,’Berta’,’Surabaya’,’P’,’198001-23’);
b. Insert into <nama_tabel> (daftar kolom) values (daftar nilai), ...
Perintah di atas berfungsi untuk mengisikan data ke dalam tabel dengan mencantumkan field apa
yang akan diisi. Values yang diberikan harus sama jumlahnya dengan kolom yang dituliskan. Contoh:
insert into dosen (NIDN, Nama, Jk) values (‘0610097902’,’Budi’,’L’);
c.
Insert into <nama_tabel> set <nama_kolom = nilai>
Sintaks tersebut di atas harus menuliskan nama kolom secara benar, jika tidak maka akan
menyebabkan error. Contoh:
insert into dosen set NIDN=’0603047401’,nama=’Gito’;
d. Insert into <nama_tabel> select statement
M engisi dat a dengan value hasil dari select query, akan dijelaskan lebih lanjut pada sub bab
selanjut nya.
2.
UPDATE
Update merupakan perint ah unt uk mengubah dat a yang sudah ada di dalam t abel.
Perint ah updat e memiliki sint aks secara umum sebagai berikut
Update <nama_tabel>
Set <nama_kolom = value>
Where <kondisi>;
Cont oh perint ah updat e sebagai berikut :
update dosen SET Alamat=’Bandung’ WHERE NIDN = ’0610097902’;
Perint ah updat e di at as adalah unt uk menggant i data alamat pada t abel dosen yang memiliki
NIDN=0610097902.
Perint ah yang lain unt uk mengubah 2 dat a kolom sekaligus, sebagai berikut :
update dosen SET Alamat=’Surakarta’,Jk=’L’
WHERE NIDN=’0603047401’;
Set menginst ruksikan penggant ian nilai pada kolom t ert ent u, dapat berupa nilai konst an sepert i
cont oh di at as at au sebuah ekspresi sepert i berikut .
update dosen set GajiPokok = GajiPokok + 10000;
Query di at as digunakan merubah GajiPokok semua dosen pada t abel dose dit ambah sebesar 10000.
Perint ah updat e juga bisa digunakan unt uk menghapus dat a sebuah kolom/ sel t ert ent u pada t abel.
Perhat ikan query berikut :
Update dosen SET Nama=”” WHERE NIDN =’0623018001’;
Hasil dari query di at as, dat a nama belakang dosen yang memiliki NIDN 0623018001 akan diubah
menjadi st ring kosong.
Cont oh perint ah updat e yang lain, perhat ikan query berikut :
update dosen set GajiPokok = case
when GajiPokok > 1000000 then 1500000
when GajiPokok > 2000000 then 2500000
else 1000000
end;
Updat e dilakukan pada t abel dosen kolom GajiPokok di mana t erdapat beberapa kondisi dengan
perilaku yang berbeda. Pada cont oh di at as t erdapat t iga kondisi GajiPokok, dimana t iap kondisi
memiliki st at ement yang berbeda.
3. SELECT
Perint ah select digunakan unt uk memilih dan menampilkan dat a dari suat u dat abase, baik dari sat u
t abel at au lebih.
Fungsi select dalam bent uk sederhana hanya mempunyai pasangan kat a from , yang berart i memilih
t abel yang akan diselect . Bent uk umumnya sbb :
select <nama kolom> From <nama tabel>;
Cont oh :
select * from dosen;
Perint ah di at as digunakan unt uk memilih semua kolom dan seluruh record pada t abel pembeli.
Pemilihan sepert i ini memungkinkan t erjadinya redudansi dat a (dat a berulang).
a. Distinct
Fungsi dist inct digunakan unt uk menampilkan record yang berbeda berdasarkan sat u kolom.
Perhat ikan cont oh berikut :
select distinct Jk from dosen;
M enampilkan kolom nama_depan dengan record yang dipilih hanya muncul sat u kali (t idak ada
pengulangan nama_dosen).
Fungsi distinct di at as hanya digunakan unt uk pemilihan sat u kolom. Unt uk pemilihan dist inct
lebih dari sat u kolom, perhat ikan query berikut ini :
Select distinct * From dosen Group by NIDN;
Terlihat berbeda dari select dist inct sebelumnya, fungsi select di at as dit ambahkan dengan kat a
group by. Hal ini disebabkan, dist inct hanya dapat berlaku pada sat u kolom. Jadi meskipun
banyak kolom yang dipilih namun hanya ada sat u kolom yang
bisa diberlakukan fungsi dist inct .
b. W here (Operator Logika)
Where berfungsi unt uk memberikan kondisi pemilihan sehingga hasil perint ah select sesuai
dengan yang dibut uhkan. Sint aksnya sebagai berikut :
Select nama_kolom From nama_tabel Where kondisi;
Terdapat operat or relasional dengan t anda =, <>, <, >, <=, >=, sert a operasi logika AND, OR, XOR
yang digunakan sebagai kondisi pada where
select NIDN from gaji where GajiPoko>1000000;
select NIDN from gaji where GajiPoko>1000000 and
Tunjangan>300000;
c.
Like
Like hanya digunakan jika dat a berupa string at au karakt er. Sebagai cont oh perhat ikan query
berikut :
Select * From dosen
Where nama like ‘%er%’;
Perint ah di at as berguna unt uk memilih baris dari t abel dosen yang mengandung karakt er ‘er’ di
t engah-t engah nama_depan. Karakt er yang digunakan unt uk fungsi like adalah persen (%) dan
underscore( _ ).
% → string apapun
_ → character apapun
Cont oh-cont oh berikut akan lebih memudahkan pemahaman t ent ang pemakaian fungsi like.
1. “ Rum%” → ”Rumanystring” → kata yang awalnya dimulai dengan Rum.
2. ” %fi%” → ”anystringfianystring” → kata yang di tengah-t engahnya mengandung karakt er fi.
3. " _ _ “ → kata yang tepat dua karakter.
4. ” _ _ _ _%” → kata yang minimum terdiri dari 4 karakter.
4. DELETE
Delete digunakan unt uk menghapus record suat u t abel. Sedangkan unt uk menghapus dat a pada
kolom t ert ent u menggunakan perint ah updat e. Sint aks delet e secara umum berbent uk
DELETE FROM nama_table WHERE kondisi;
WHERE digunakan unt uk menent ukan kondisi dari baris yang akan dihapus. Perhat ikan cont oh query
berikut :
Delete from dosen Where Alamat=’Surakarta’;
Cont oh query lain
Delete from gaji Where GajiPokok between 0 and 1000000;
Perbedaan ant ara cont oh delet e di at as dengan sebelumnya adalah kondisi yang dipakai. Jika dat a
berupa angka, memungkinkan kondisi berupa suat u range nilai. Filt ering pada delet e dapat berupa
fungsi select sepert i
Delete from dosen Where NIDN in (Select NIDN From gaji Where
GajiPokok<1000000);
Filt ering juga bisa berupa fungsi agregat
Delete from gaji Where GajiPokok < (select avg(GajiPokok)
From gaji);
Dari fungsi select avg(Tunjangan) menghasilkan sebuah nilai rat a-rat a dari seluruh Tunjangan yang di
t abel gaji. Apabila ada dat a di kolom t ot al t abel gaji yang GajiPokoknya kurang dari nilai rat a-rat a
t ersebut , maka record t erkait akan dihapus.
Yang harus diperhat ikan dalam delet e adalah, fungsi ini hanya dapat melibat kan sat u t abel. Terlihat
dalam t abel set elah from hanya berisi sebuah t abel. Cara ini berbeda dengan from pada fungsi select
(dibahas selanjut nya) yang bisa melibat kan lebih dari sat u t abel.