Data Manipulation Language (DML)
Data Manipulation Language
(DDL) merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi
data ataupun objek-objek yang ada didalam tabel. Antara lain: perintah untuk
memilih data (query), menyisipkan, mengubah dan menghapus data dalam basis
data.
Bentuk manipulasi yang dapat dilakukan oleh DML
diantaranya adalah :
1.
Melakukan pencarian kembali data lama,
2.
Penyisipan data baru ke dalam tabel
3.
Penghapusan data
4.
Pengubahan data
5.
Menampilkan data dengan kreiteria tertentu
6.
Menampilkan data secara terurut.
DML menurut jenisnya dapat dibagi menjadi 2 jenis
yaitu :
1. Prosedural, DML membutuhkan
pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara
mendapatkannya, Contoh paket bahasa prosedural adalah dBase Ill, FoxBase.
2. Non Prosedural, DML
membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa tahu
bagaimana cara mendapatkannya.
Contoh
paket bahasa non prosedural adalah SQL (Structured Query Language) atau Query
By Example (QBE). B. Perintah DML
sebagai berikut :
a. INSERT
Perintah INSERT digunakan untuk rnenarnbahkan baris
pada suatu tabel.
Terdapat dua cara untuk menarnbah baris, yaitu :
Cara 1 :
Menambah baris dengan mengisi data langsung pada
setiap kolom tanpa menyertakan struktur tabel
INSERT INTO namatabel VALUES (nilail,nilai2,nilai-n);
Cara 2 :
Menambah baris dengan menyertakan struktur tabel dalam
mengisi data pada setiap kolom:
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES
(nilai1,nilai2,niali-n);
Berikut ini perintah untuk rnenarnbahkan baris pada
tabel buku :
Cara 1:
Mysql> insert into buku values ('B00l' ,'Sistem
Basis Data' , 2 5 0 0 0, ' 2 0 0 4' , ' PO 0 1' , 'TOO 1' ) ;
Cara 2:
Mysql> insert into pengarang
(kode_buku,judul_buku,harga,tahun_terbit,kode
pengarang, kode_penerbit) values ('B002' ,'Sistem
Informasi' ,50000,'2003' ,'P00l' ,'T00l');
Keterangan :
Jika data bertipe string,
date atau time (contoh: B00l, Sistem Basis Data, 2007-1110) maka pemberian
nilainya diapit dengan tanda petik tunggal ('BOO 1 ') atau petik ganda
("B00 l "). Jika data bertipe numerik (2500, 400) maka pemberian
nilainya tidak diapit tanda petik tunggal maupun ganda.
b. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada
satu atau beberapa kolom pada suatu tabel.
Syntax:
UPDATE namatabel SET koloml
= nilail, kolom2 = nilai2 [WHERE kondisi]; Perintab dalam tanda [] bersifat
opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. Berikut ini
perintah untuk mengubah baris pada tabel pengarang dengan data sebagai berikut:
Mysql> select * from buku;
Contoh 1 : mengubab semua nilai pada kolom judul_buku
rnenjadi 'Basis Data' :
Mysql> update buku set judul_buku='Basis
Data';
Contoh 2 : mengubah nilai pada kolom judul_buku
menjadi Basis Data Terpadu dimana nilai pada kolom kode_buku adalah B00l :
Mysql> update buku set judul_buku=' Basis Data
Terpadu' where kode buku='B00l';
c. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari
suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.
I) Menampilkan data untuk semua kolom menggunakan
asterisk (*)
Syntax: SELECT * FROM namatabel;
Berikut ini perintah untuk menarnpilkan semua data
pada tabel buku: Mysql> select * from buku;
2) Menampilkan data untuk kolom
tertentu
Syntax : SELECT
koloml,kolom2,kolom-n FROM namatabel; Berikut inj perintah untuk menampilkan
data pada tabel buku dengan kolorn yang ditampilkan adalah kolom kode_buku :
Mysql> select kode_buku from buku;
3)
Menampilkan data dengan kondisi data tertentu dengan klausa
WHERE Syntax:SELECT * FROM namatabel WHERE kondisi;
Berikut ini perintah untuk menampilkan data pada tabel
buku dimana nilai pada kolom kode buku adalah BOO I :
Mysql> select * from buku
where kode buku='B00l'; Beberapa operator perbandingan yang dapat digunakan
pada klausa WHERE selain "=" adalah : > (lebih dari), < (kurang
dari), < > (tidak sama dengan), >= (lebih dari atau sama dengan),
<= (kurang dari atau sama dengan). Adapun operator lain, yaitu : AND, OR,
NOT, BETWEEN-AND, IN dan LIKE. Berikut ini data yang ada pada tabel pengarang:
Mysql> select * from buku;
Contoh 1 : perintah untuk menampilkan data pada tabel
buku dimana nilai harga berkisar dari 25000 hingga 50000 :
Mysql> select * from buku where harga>=25000 and
harga<=50000;
Atau
Mysql> select * from buku where harga between 25000
and 50000;
Contoh 2 : perintah untuk menampilkan data pada tabel
buku dimana nilai harga sama dengan 25000 atau 50000 :
Mysql > select*from buku where harga =2500 or harga=50000;
Atau
Mysql > select*from buku where harga
in(25000,50000);
Contoh 3 : perintah untuk menampilkan data pada tabel
buku dimana nilai pada kolom judul_buku tidak sama dengan basis data:
Mysql> select * from buku
where not judul_buku='Basis Data Terpadu'; Atau mysql> select * from buku
where judul_buku<>' Basis Bata Terpadu';
Contoh 4 : lsi tabel buku
Mysql > select*from buku; perintah untuk rnenarnpilkan data pada tabel buku
dirnana data pada kolom tertentu diawali dengan njlai tertentu, rnisalnya pada
kolorn judul_buku dirnana diawali dengan karakter 'B'
Mysql> select * from buku where judul_buku like
'B%';
4). Memberikan nama lain pada kolom
Syntax :
SELECT namakolom AS namakolombaru FROM namatabel;
Berikut ini perintab untuk memberikan narna lain pada
kolorn judul_buku menjadi judul pada tabel pengarang :
Mysql> select judul_buku as judul from buku;
5). Menggunakan alias untuk
nama tabel Syntax :
SELECT
nmalias.jenis, nmalias.harga FROM namatabel nmalias;
Berikut ini perintah untuk memberikan alias pada tabel
buku :
Mysql> select j.judul_pengarang, j.harga from buku
j;
6)
Menampilkan data lebih dari dua tabel Syntax:
SELECT * from namatabell,namatabel2,namatabel-n; lsi
tabel pengarang:
Mysql> select * from pengarang; lsi tabel buku :
Mysql> select * from buku;
Berikut ini perintah untuk
menampilkan semua data pada tabel pengarang dan buku :
Mysql> select * from pengarang, buku;
7)
Operator comparison ANY dan ALL
a. Operator ANY digunakan
berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak
salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.
Ilustrasinya :
Gaji > ANY (S)
Jika subquery S menghasilkan G 1, G2, ... , Gn, maka
kondisi di atas identik dengan :
(gaji >GI) OR (gaji > G2) OR ... OR (gaji >
Gn)
Contoh : perintah untuk menampilkan semua data
pengarang yang harga bukunya bukan yang terkecil:
Mysql> select * from buku where harga > ANY
(select kode_pengarang from pengarang);
b. Operator ALL digunakan untuk
melakukan perbandingan dengan subquery.
Kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak
menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai
que,y terhadap hasil subque,y.
Contoh: perintah untuk menampilkan data pengarang yang
harganya paling tinggi:
8)
Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
a. COUNT
Perintah yang digunakan
untuk menghitung jumlah baris suatu kolom pada tabel. Contoh : perintah untuk
menghitung jumlah baris kolom kode _ buku pada tabel buku:
Mysql> select * from buku where harga >= ALL
(select kode_pengarang from pengarang);
Mysql> SELECT COUNT (kode_buku) FROM buku;
b. SUM
Perintah yang digunakan
untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh : perintah untuk
menghitung jumlah nilai kolom harga pada tabel pengarang:
Mysql> SELECT SUM (harga) FROM buku;
c. AVG Perintah yang digunakan
untuk menghitung rata-rata dari nilai suatu kolom pada tabel. Contoh : perintah
untuk menghitung rata-rata dari kolom harga pada tabel pengarang:
Mysql> select avg(harga) from buku;
d. MIN
Perintah yang digunakan untuk menampilkan nilai
terkecil dari suatu kolompada tabel.
Contoh : perintah untuk menampilkan nilai terkecil
dari kolom harga pada tabel buku:
Mysql> select min(harga) from buku;
e. MAX
Perintah yang digunakan
untuk menampilkan nilai terbesar dari suatu kolom pada tabel. Contoh : perintah
untuk menampilkan nilai terbesar dari kolom harga pada tabel buku:
Mysql> select max (harga) from buku;
9)
SQL dengan GROUP BY dan HAVING
Klausa GROUP BY digunakan untuk melakukan
pengelompokan data. Sebagai contoh, terdapat tabel buku dengan data sebagai
berikut :
Mysql> select * from
buku;
akan ditampilkan hanya kolom
tahun_masuk dan digabungkan dengan SUM(jml_buku) yang dikelompokkan berdasarkan
kolom tahun_masuk pada tabel buku :
Mysql> select sum (jml_buku) from buku group by
tahun_terbit;
Klausa HAVING digunakan
untuk menentukan kondisi bagi klausa GROUP BY. Kelompok yang memenuhi HAVING
saja yang akan dihasilkan. Contoh : perintah untuk menampilkan data hanya kolom
tahun masuk yang dikelompokkan berdasarkan kolom tahun _ masuk, dimana jumlah
buku berdasarkan kelompoknya barns lebih besar dari satu pada tabel buku :
Mysql> select kode pengarang from buku group by
kode_pengarang having count(kode buku) >1;
10). ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data
berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Contoh :
perintah untuk mengurutkan data buku berdasarkan kolom judul :
Mysql> select *from buku order by judul_buku;
atau tambahkan ASC untuk pengurutan secara ascending
(menaik)
Mysql> select *from buku order by judul_buku asc;
atau tambahkan DESC untuk
pengurutan secara descending (menurun) Mysql> select *from buku order by
judul_buku desc;
d. DELETE
Perintah DELETE digunakan untuk menghapus satu baris,
baris dengan kondisi tertentu atau seluruh baris. Syntax :
DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda []
bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu.
Berikut ini perintah untuk menghapus baris pada tabel buku dengan data sebagai
berikut :
Mysql> select * from buku;
Contoh 1 : jika ingin menghapus seluruh baris pada
tabel pengarang :
Mysql> delete from buku;
Contoh 2 : jika ingin menghapus baris yang memiliki
nilai ‘B001’ pada kolom kode_buku pada tabel buku maka perintahnya sebagai
berikut :
Mysql> delete from buku where kode_buku=’B001’;
Contoh 3 : jika ingin
menghapus baris yang memiliki nilai ‘Basis Data
Terpadu’ pada kolom
judul_buku pada tabel buku maka perintahnya
sebagai berikut :
Mysql> delete from buku where judul_pengarang=’Basis Data
Terpadu’;
Komentar
Posting Komentar