KODE CHATBOX

Powered by : Rumah Technology

4.01.2012

BAB 3


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.

  1. 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%';

  1. 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'

  1. 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.


0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting