BAB
I
SOAL/PERMASALAHAN
1.
Apa yang dimaksud dengan Data
Manipulation Language (DML)?
2.
Jelaskan salah satu fungsi perintah Data
Manipulation Language (DML) & berikan contohnya !
3.
Sebutkan & jelaskan perintah-perintah
yang ada dalam Data Manajemen Language (DML)!
B. Pembahasan DML (Data Manipulation
Language)
Data
Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk
melakukan proses modifikasi dan pengambilan data pada suatu basis data.
Modifikasi yang dapat dilakukan adalah penambahan (insert), pembaharuan
(update), penghapusan (delete).
Secara
umum untuk manipulasi isi dari tabel pada database terdiri dari 4 (empat)
perintah yaitu select, insert, update, dan delete, dan menurut definisi saya
sendiri perintah sql yang ada secara umum juga terdiri dari empat perintah
tersebut, bahkan untuk perintah-perintah sql lain yang lebih sulit tingkatannya
seperti prosedur,fungsi,triger,view juga berbasis pada kombinasi
perintah-perintah diatas.
Terdapat dua tipe DML,
yaitu:
1. Prosedural
Membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara mendapatkannya.
Membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara mendapatkannya.
2.
Non Prosedural
Non Prosedural membutuhkan pemakai untuk menspesifikasikan data apa yang di butuhkan tanpa tahu bagaimana cara mendapatkannya. Contoh paket bahasa prosedural adalahdBase III, FoxBase, sedangkan non prosedural adalah SQL (Structure Query Language) atau Query By Example (QBE).
Non Prosedural membutuhkan pemakai untuk menspesifikasikan data apa yang di butuhkan tanpa tahu bagaimana cara mendapatkannya. Contoh paket bahasa prosedural adalahdBase III, FoxBase, sedangkan non prosedural adalah SQL (Structure Query Language) atau Query By Example (QBE).
o Insert Baris dalam Tabel
INSERT INTO (, … , )
VALUES (, … , );
INSERT INTO
departments(department_id, department_name,
manager_id, location_id)
VALUES (70, ‘Public
Relations’, 100, 1700);
o Insert Baris dengan Nilai NULL
INSERT INTO
VALUES (, … , , NULL);
INSERT INTO departments
VALUES (100, ‘Finance’, NULL, NULL);
o Insert Baris berdasarkan Tabel Lain
INSERT INTO (, … , )
[Syntax Query SQL];
INSERT INTO sales_reps(id, name,
salary, commission_pct)
SELECT employee_id, last_name,
salary, commission_pct
FROM employees WHERE job_id LIKE
‘%REP%’;
o Update Baris dalam Tabel
UPDATE
SET = [WHERE condition];
UPDATE employees
SET department_id = 70 WHERE
employee_id = 113;
o Update 2 Kolom dengan Sub-Query
UPDATE
SET = ([Syntax Query SQL]);
UPDATE employees
SET job_id = (SELECT job_id FROM
employees WHERE employee_id = 205);
o Delete Baris dalam Tabel
DELETE FROM
WHERE = ;
DELETE FROM departments
WHERE department_name = ‘Finance’;
o Delete Baris berdasarkan Tabel Lain
DELETE
WHERE = ([Syntax Query SQL]);
DELETE FROM employees
WHERE department_id = (SELECT
department_id FROM departments WHERE department_name LIKE ‘%Public%’);
o Select Query
SELECT FROM
[WHERE ]
[GROUP BY ] [HAVING ]
[ORDER BY ]
Disini
secara khusus akan dijelaskan Data Manipulation Language (DML) pada Mysql,
Langsung saja dicontohkan dengan struktur tabel sebagai berikut:
Tabel Contoh dengan kolom-kolom :
Tabel Contoh dengan kolom-kolom :
idcontoh
|
nama_contoh
|
alamat
|
pekerjaan
|
hobi
|
1
|
Saya
|
Jakarta
|
Guru
|
Sepakbola
|
2
|
Kamu
|
Bogor
|
Dosen
|
Basket
|
3
|
Anda
|
Bandung
|
Karyawan
|
Karate
|
Penjelasannya
bisa dijabarkan sebagai berikut :
A.
SELECT
Untuk menampilkan isi table dengan
option-option tertentu.
Untuk menampilkan seluruh isi tabel
:
SELECT * FROM nama_tabel;
Contoh penggunaan sintaks dan hasil
keluaran atau output :
Select * from contoh;
idcontoh
|
nama_contoh
|
alamat
|
pekerjaan
|
hobi
|
1
|
Saya
|
Jakarta
|
Guru
|
Sepakbola
|
2
|
Kamu
|
Bogor
|
Dosen
|
Basket
|
3
|
Anda
|
Bandung
|
Karyawan
|
Karate
|
Untuk
menampilkan isi tabel dengan kolom tertentu saja :
SELECT
kolom1, kolom2, ... FROM nama_tabel;
Contoh penggunaan sintaks dan hasil
keluaran atau output :
Select nama_contoh, alamat from
contoh;
nama_contoh
|
alamat
|
Saya
|
Jakarta
|
Kamu
|
Bogor
|
Anda
|
Bandung
|
Untuk
menampilkan isi suatu tabel dengan kondisi tertentu:
SELECT
* FROM nama_tabel WHERE kolom=kondisi;
Contoh penggunaan sintaks dan hasil
keluaran atau output :
Select * from contoh where
hobi=’Sepakbola’;
idcontoh
|
nama_contoh
|
alamat
|
pekerjaan
|
hobi
|
1
|
Saya
|
Jakarta
|
Guru
|
Sepakbola
|
Untuk
menampilkan isi suatu tabel dengan kondisi tertentu:
SELECT kolom1 FROM nama_tabel WHERE
kolom2=kondisi;
Contoh penggunaan sintaks dan hasil
keluaran atau output :
Select nama_contoh from contoh where
hobi=’Sepakbola’;
nama_contoh
|
Saya
|
B.
INSERT
Untuk menambah record atau baris
baru dalam table:
INSERT INTO nama_tabel (nama_kolom) VALUES (isikolom) atau
INSERT INTO nama_tabel SET nama_kolom='isikolom'
Contoh penggunaan sintaks:
insert into
contoh(nama_contoh,alamat,pekerjaan,hobi) Values
(’Saudara’,’Semarang’,’Pedagang’,’Sepakbola’);
Ini akan menambah record (baris)
pada tabel contoh yang berisi seperti diatas, sehingga isi tabel menjadi :
idcontoh
|
nama_contoh
|
alamat
|
pekerjaan
|
hobi
|
1
|
Saya
|
Jakarta
|
Guru
|
Sepakbola
|
2
|
Kamu
|
Bogor
|
Dosen
|
Basket
|
3
|
Anda
|
Bandung
|
Karyawan
|
Karate
|
4
|
Saudara
|
Semarang
|
Pedagang
|
Sepakbola
|
C.
UPDATE
Untuk memodifikasi record atau baris
yang sudah ada dalam suatu tabel pada database sesuai dengan kondisi yang
diinginkan:
UPDATE
nama_tabel SET kolom1='isi_kolom' WHERE kolom2='kondisi';
Contoh penggunaan sintaks:
update contoh set nama_contoh
=’Kalian’ where hobi=’Karate’;
Ini akan merubah kolom nama_contoh
pada tabel contoh menjadi ‘Kalian’ untuk kolom hobi yang berisi ‘Karate’.
D.
DELETE
Untuk menghapus record atau baris
tertentu dalam suatu table:
DELETE
FROM nama_tabel WHERE nama_kolom='isikolom';
Jika WHERE
tidak disertakan maka semua isi dalam table akan terhapus.
Contoh penggunaan sintaks:
delete from contoh where nama_contoh
=’Kalian’;
ini akan menghapus row atau baris
pada tabel contoh untuk kolom nama_contoh yang berisi ‘Kalian’.
Untuk
melakukan manipulasi atau pengolahan data dalam suatu table digunakan perintah
DML. Macam-macam dari perintah DML adalah:
1. Insert : untuk memasukkan / menambahkan data baru
INSERT INTO nama_table (nama_kolom)
values (values);
contoh –>
insert into mahasiswa (nim, nama,
alamat, jurusan) values (12345,’andhi’,’yogya’,’informatika’);
keterangan:
insert into –> perintah untuk
menambah data
mahasiswa –> nama table yang akan
ditambahkan datanya
nim, nama, alamat, jurusan –> nama
kolom dari table mahasiswa
12345,’andhi’,’yogya’,’informatika’
–> data yang dimasukkan ke dalam table mahasiswa (sesuai dengan urutan kolom
yang telah disebutkan sebelumnya)
nb: untuk
data yang bertipe karakter harus diapit tanda petik tunggal (‘ ‘)
2. Select :
untuk menyeleksi / memilih data yang akan ditampilkan
SELECT * | {nama_kolom} FROM nama_table
[WHERE condition];
contoh –>
select nim, nama, jurusan from
mahasiswa;
keterangan: perintah di atas
menampilkan data nim, nama dan jurusan pada table mahasiswa.
nb: untuk menampilkan semua kolom dapat
menggunakan tanda (*) contoh: select * from mahasiswa, sedangkan jika ada
syarat/kondisi untuk data yang akan ditampilkan dapat menggunakan klausa where
contoh: select nim, nama from mahasiswa where nama=’andhi’;
3. Update :
untuk membperbaharui data yang sudah ada
UPDATE nama_table SET nama_kolom =
value [WHERE condition];
contoh –>
update mahasiswa set jurusan
=’kedokteran’ where nama=’andhi’;
keterangan: perintah di atas akan
mengubah data mahasiswa yang bernama andhi dengan mengganti data pada kolom
jurusan, yang sebelumnya informatika menjadi kedokteran.
Nb: kita dapat mengubah lebih dari satu
kolom dalam satu perintah update contoh: update mahasiswa set nim=45678,
jurusan=’kedokteran’ where nama=’andhi’;
Perhatian : Jika kita tidak menggunakan
klausa where maka semua baris pada kolom yang akan di update akan berubah.
4. Delete :
untuk menghapus baris data
DELETE [FROM] nama_table [ WHERE
condition];
contoh –>
delete mahasiswa where nama=’andhi’;
keterangan: perintah di atas menghapus
baris data pada tabel mahasiswa yang bernaa andhi
Perhatian : Jika tidak menggunakan
klausa where maka semua baris data pada tabel tersebut akan dihapus.