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

Postingan Populer