Tujuan:
1. Mengenal Sub Bahasa
DML (Data Manipulation Language)
2. Menggunakan Sub
Bahasa DML
3. Mengenal Sub Bahasa DCL (Data Control Language)
Data
Manipulation Language
DML
adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis
data, misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan data.
Perintah yang masuk kategori DML adalah :
1.
Insert
Perintah Insert
digunakan untuk menyisipkan data baru ke dalam sebuah tabel database. Ada dua macam perintah Insert,
yaitu yang digunakan untuk menyisipkan data satu persatu dan yang menyisipkan
banyak data sekaligus. Sintaksnya adalah sebagai berikut :
Untuk menyisipkan
banyak record :
Untuk menyisipkan
satu record :
INSERT INTO tujuan [(t_field1[,
t_field2[, …]])] VALUES (nilai1[, nilai2[, … ] ])
Arti
parameter-parameter yang disertakan:
Tujuan adalah nama tabel
yang akan disisipi data.
Sumber adalah nama tabel
sumber data.
T_field1, t_field2 adalah nama field
yang akan disisipi data.
s_field1, s_field2 adalah nama field
sumber data.
Nilai1, nilai2 adalah nilai data
yang akan disisipkan.
Sebagai latihan, akan
ditambahkan kedalam tabel buku beberapa data.
mysql>
insert into buku values(1,'KD-OD9-HW-EMK-1',1,1);
Perintah di atas
bertujuan menambahkan/menyisipkan tabel kedalam tabel buku dengan data sesuai
urutan field ketika membuat tabel (bisa ditampilkan dengan perintah describe).
Bisa juga menggunakan
cara:
mysql>
INSERT INTO buku(id_buku,id_judul,no_urut,referensi)
-> VALUES (2,'AF-HMA-MA-MDK-5',1,1);
Ataupun
mysql>
INSERT INTO buku (id_judul,referensi, no_urut)
-> VALUES ('KP-PDM-RS-AOF,3',1,1);
Tampilkan semua data
yang ada di dalam tabel buku
mysql>
select * from buku;
+---------+-----------------+---------+-----------+
| id_buku |
id_judul | no_urut | referensi |
+---------+-----------------+---------+-----------+
| 1 | KD-OD9-HW-EMK-1 | 1 | 1 |
| 2 | AF-HMA-MA-MDK-5 | 1 | 1 |
| 3 | KP-PDM-RS-AOF,3 | 1 | 1 |
+---------+-----------------+---------+-----------+
mysql>
INSERT INTO buku
-> SET id_judul='KP-PWP-IFB-4',
-> no_urut=1,
-> referensi=1;
mysql>
INSERT INTO buku
-> VALUES
-> (5,'KP-PWP-BS-IFB-4',2,1),
-> (6,'KP-PWP-BS-IFP-4',3,2),
-> (7,'KP-PWP-BS-IFP-4',4,2);
mysql>
INSERT INTO buku (no_urut,referensi,id_judul)
-> VALUES
-> (1,1,'KD-MDS-FU-AOF-3'),
-> (2,2,'KD-MDS-FU-AOF-3'),
-> (3,1,'KD-MDS-FU-AOF-3'),
-> (4,1,'KD-MDS-FU-AOF-3'),
-> (5,2,'KD-MDS-FU-AOF-3');
mysql>
INSERT INTO buku values(NULL,'AN-NIQ-IQ-TBY-7',1,2);
mysql>
INSERT INTO buku
values('','AN-NIQ-IQ-TBY-7',2,2),('','KP-PAT-LP-AOF-6',1,2),('','KP-PWH-BS-IFB-8',1,1);
Tampilkan semua data
yang ada di tabel buku. Dan buatlah kesimpulan dari perintah-perintah yang ada
di atas.
Mengimport Tabel
MySQL mempunyai
fasilitas yang dapat kita gunakan untuk mengimport data tabel dari file lain
dengan format teks.
Kita lanjutkan dengan
tabel yang lain dengan cara yang lain lagi. Untuk tabel judul buku, buatlah
file teks (bisa menggunakan kwrite di linux, atau kalau di windows bisa pakai
notepad atau editor teks yang lain) data berikut:
|
KD-OD9-HW-EMK-1
|
Oracle
9i Database
|
EMK
|
HENWI
|
211
|
2
|
2003
|
|
AF-HMA-MA-MDK-5
|
Hukum
membaca Al Quran untuk orang Mati
|
MDK
|
MUHAB
|
111
|
6
|
2004
|
|
KP-PDM-RS-AOF-3
|
Pemrograman
Database MySQL 4 dg Bahasa C
|
AOF
|
RIDSJ
|
212
|
1
|
2004
|
|
KP-PWP-BS-IFB-4
|
Pemrograman
Web dengan PHP
|
IFB
|
BETSI
|
213
|
2
|
2002
|
|
KD-MDS-FU-AOF-3
|
Mengelola
Database Server di Linux dan Windows
|
AOF
|
FIRUT
|
211
|
1
|
2002
|
|
AN-NIQ-IQ-TBY-7
|
Nasehat
Ibnul Qayyim Kepada Setiap Muslim
|
TBY
|
IBNQA
|
112
|
3
|
2001
|
|
KP-PAT-LP-AOF-6
|
Program
Akutansi Terpadu
|
AOF
|
LIMPH
|
214
|
1
|
2004
|
Antar field/kolom
dipisah dengan koma, dan antar record/baris dipisah dengan enter. Sebagai
contoh:
AN-NIQ-IQ-TBY-7,Nasehat
Ibnul Qayyim Kepada Setiap Muslim,TBY,IQ1,112,3,2001
AF-HMA-MA-MDK-5,Hukum
membaca Al Quran untuk orang Mati,MDK,MA1,111,6,2004
Setelah file dibuat,
simpanlah di tempat yang jelas (sebagai contoh di /home/uunboy/ dengan nama ).
Selanjutnya jalankan perintah:
load data infile "/home/uunboy/buku" into table
judul_buku fields terminated by ",";
Isikan untuk
tabel-tabel yang lain seperti pada tabel berikut:
Tabel Penerbit
+-------------+----------------------+------------+
| id_penerbit | penerbit
| kota
|
+-------------+----------------------+------------+
| MDK | Media
Dakwah | Jakarta
|
| EMK | Elex
Media Komputind | Jakarta |
| AOF | Andi
Offset | Yogyakarta
|
| IFB | Informatika
Bandung | Bandung
|
| MDH | Media
Hidayah | Surakarta
|
| TBY |
Pustaka At Tibyan | Surakarta
|
| MKD | Menara
Kudus | Yogyakarta
|
+-------------+----------------------+------------+
Tabel Pengarang
+--------------+----------------------------+
| id_pengarang | nama |
+--------------+----------------------------+
| HENWI | Ir.
Hendra Wijaya |
| MUHAB |
Muhammad Ahmad Abdul Salam |
| RIDSJ |
Ridwan Sanjaya S.Kom |
| BETSI | Betha
Sidik |
| FIRUT | Firrar Utdirartatmo ST
MT |
| IBNQA | Ibnul
Qayyim Aljauziah |
| LIMPH | Lim
Phek Yiong |
| ABDKD | Abdul
Kadir |
| JOGIY |
Jogiyanto |
+--------------+----------------------------+
Tabel Kelompok
+-------------+----------------------+
| kd_kelompok | kelompok |
+-------------+----------------------+
| 110 |
Aqidah |
| 111 |
Fikih |
| 112 |
Muamalah |
| 113 |
Ibadah |
| 211 |
Komputer Database |
| 212 |
Pemrograman Database |
| 213 |
Pemrograman Web |
| 214 | Pemrograman
Akutansi |
+-------------+----------------------+
Buatlah file teks
dengan data sebagai berikut:
INSERT
INTO anggota VALUES ('0540001','Farmadi','1981-12-15',2,'Karangkajen MG III /
890 55153 Yk','','Yogyakarta','STMIK El
Rahma');
INSERT
INTO anggota VALUES ('0520002','Ana','1990-01-15',2,'Karangkajen MG III / 847
55153 Yk','','Yogyakarta','SMP 16 Yk');
INSERT
INTO anggota VALUES ('0540003','Irma M','1984-12-22',2,'Karangkajen MG III /
915 55153 Yk','(0274)448549','Yogyakarta','UNY');
INSERT
INTO anggota VALUES ('0540004','Untung Subagyo
Al-Kabumaeni','1982-06-03',1,'Jl. Sisingamangaraja 76
Yogyakarta','(0274)377982','Kebumen','UGM');
INSERT
INTO anggota VALUES ('0530005','Tashya','1988-10-04',2,'Karangkajen MG III /
935 55153 Yk','08164896920','Yogyakarta','MoEHa
Punya');
INSERT
INTO anggota VALUES ('0540006','Dyaning Utami
Putri','1984-06-27',2,'Karangkajen Jl. Menukan MG III / 235 55153 Yk','','Yogyakarta','UST');
INSERT
INTO anggota VALUES ('0530007','Agatha kenang M','1991-03-30',2,'Karangkajen MG
III 55153 Yk','08164896920','Yogyakarta','SMPN
2 Yk');
INSERT
INTO anggota VALUES ('0540008','Ririn Rikhul J','1986-03-05',2,'Karangkajen MG
III / 983 55153 Yk','(0274)382031','Yogyakarta','UAD');
INSERT
INTO anggota VALUES ('0540009','Nurul Madaniyah','1987-08-28',2,'Karangkajen
70','08562951646','Yogyakarta','UAD');
INSERT
INTO anggota VALUES ('0540010','Dyah Kurniawati','1983-10-18',2,'Karangkajen MG
III / 812 55153 Yk','(0274)379539','Yogyakarta','UWM');
INSERT
INTO anggota VALUES ('0520011','Adelia Rosharyati','1990-12-30',2,'Karangkajen
MG III / 965 55153 Yk','(0274)372666','Yogyakarta','SMPN
10 Yk');
INSERT
INTO anggota VALUES ('0540012','Nur Rahmania
Fitriastuti','1985-06-27',2,'Karangkajen MG III / 817 55153
Yk','0274-7493752','Yogyakarta','UIN Sunan
Kalijaga');
INSERT
INTO anggota VALUES ('0540013','Vina Agustina','1985-08-09',2,'Karangkajen MG
III / 980 B 55153 Yk','085228362358','Kudus','STMIK El Rahma');
INSERT
INTO anggota VALUES ('0520014','Yossi Dwiyuanna
Septiani','1991-09-09',2,'Karangkajen MG III / 873 55153 Yk','085643148538','Yogyakarta','MTsN 2 Yk');
INSERT
INTO anggota VALUES ('0540015','Dwian Soffa
Ardafit','1986-05-09',2,'Karangkajen MG III / 966 55153
Yk','085228134770','Cilacap','STMIK El Rahma');
INSERT
INTO anggota VALUES ('0540016','Siti Marfu\'ah','1986-06-07',2,'Karangkajen MG
III / 927 55153 Yk','08882759801','Ngawi','STMIK El Rahma');
INSERT
INTO anggota VALUES ('0540017','Noor Hidayah','1986-05-17',2,'Karangkajen MG
III / 980 B 55153 Yk','085225110799','Kudus','STMIK El Rahma');
INSERT
INTO anggota VALUES ('0510018','Afifah Yuniar
Al-Buny','1995-06-08',2,'Karangkajen MG III / 857 55153 Yk','','Yogyakarta','SD Muhamadiyah');
INSERT
INTO anggota VALUES ('0520019','Ulfias Trinta Noor
Andira','1992-07-16',2,'Karangkajen MG III / 847 55153 Yk','','Yogyakarta','SMP 16 Yk');
INSERT
INTO anggota VALUES ('0540022','Munawir','1986-01-15',1,'Karangkajen MG III /
840 55153 Yk','(0274)448554','Wakai','UGM');
Kemudian
Jalankan file tersebut untuk mengisi data pada tabel anggota.
- Select
Perintah Select
digunakan untuk memilih data-data yang diperlukan dari sebuah database ke dalam
sebuah database sementara. Ada
beberapa istilah dalam menyebut database sementara ini, misalnya query,
recordset, view. Sintaks selengkapnya adalah sebagai berikut:
SELECT { * |
namafield } FROM namatabel [INTO tujuan] [WHERE
kriteria] [GROUP BY grup] [HAVING kriteria] [ORDER BY namafield]
[{ASC|DESC}]
Tanda * berarti
menetapkan bahwa semua field pada tabel akan dipilih.
NamaField adalah nama field
yang akan dipilih.
NamaTabel adalah nama tabel
yang akan dipilih.
Kriteria merupakan suatu
ekspresi logika yang mjd syarat pemilihan data.
Tujuan merupakan nama dari
tabel baru yang dibentuk.
Grup merupakan
pengelompokan data berdasarkan nama field.
ASC atau DESC adalah
pengurutan data berdasarkan abjad atau angka.
Jalankan
perintah-perintah berikut:
select * from buku;
select * from buku where referensi=2;
select id_judul,judul,id_penerbit,thn_terbit from judul_buku;
select nama_anggota,tmp_lahir,sekolah from anggota
select nama_anggota,tmp_lahir from anggota where sekolah='STMIK El
Rahma';
select nama_anggota,tmp_lahir from anggota where tmp_lahir='Yogyakarta';
select nama_anggota,tmp_lahir from anggota where nama_anggota like
'Untung%';
select nama_anggota,tmp_lahir from anggota where nama_anggota like
'%ma%';
- Delete
Perintah Delete
digunakan untuk menghapus record pada suatu tabel. Sintaks dari perintah
Delete adalah sebagai berikut :
DELETE FROM nama_tabel [WHERE
kriteria]
hati-hati dalam
memberikan perintah delete ini, karena jika terlupa memberikan pernyataan
kondisi , perintah ini akan menyebabkan terhapusnya seluruh isi tabel.
Sebagai contoh kita
hapus dari tabel anggota, anggota dengan id_anggota='0520002', maka
perintahnya:
DELETE
FROM anggota WHERE id_anggota='0520002'
- Update
Perintah Update
digunakan untuk memodifikasi atau memperbaharui nilai-nilai record pada sebuah tabel. Sintaksnya adalah
sebagai berikut :
UPDATE
nama_tabel
SET
field1 = nilai1 [,field2 = nilai2 [,...]]
[WHERE
kondisi]
wah..., ternyata data anggota yang kita masukan tadi ada
yang salah. Coba tampilkan nama_anggota, beserta sekolahnya, kalau pingin tahu,
boleh juga dengan tgl_lahirnya :), untuk anggota yang tempat lahirnya di
Kebumen. (masih
ingat caranya? Tentu dong.....).
Nah, ternyata kita menginputkan sekolah yang salah. Coba jalankan
perintah berikut:
UPDATE
anggota SET sekolah='STMIK El Rahma' WHERE tmp_lahir LIKE '%bumen';
Hati-hati juga dalam menjalankan perintah
update ini, jangan sampai lupa untuk menuliskan kondisi data dalam tabel yang
akan diperbaiki. Maksud hati ingin merubah data yang tempat lahirnya di 'bumen'
saja, apa daya karena lupa menuliskan kondisi, jadi berubah semua
datanya.
c.
Data Control Language
DCL
berisi perintah-perintah untuk mengendalikan pengaksesan data. Pengendalian
dapat dilakukan berdasar per pengguna , per tabel, per kolom, maupun per
operasi yang boleh dilakukan.
DCL
terdiri atas sekelompok perintah SQL untuk memberikan hak akses database,
mangalokasikan space, pendefinisian space, , dan penggunaan database. Beberapa
perintah ini merupakan fungsi dari Database Administrator.
Perintah-perintah
yang termasuk dalam DCL adalah :
GRANT : Memberikan kendali pengaksesan
data
REVOKE : Mencabut kemampuan pengaksesan data
Selain
itu ada juga COMMIT dan ROLLBACK. Detail mengenai perintah-perintah ini akan
kita pelajari pada bab mengenai pengaturan hak akses dan user.





15.42
Miftahur Rohman


0 komentar:
Posting Komentar