Jumat, 29 Juli 2022

 A.     DASAR TEORI

 

DML (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 termasuk dalah kategori DML adalah :

          INSERT, DELETE, UPDATE dan SELECT.

1. INSERT

Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara untuk menambah baris, yaitu:  

Cara 1: Menambah baris dengan mengisi data pada setiap kolom :

INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);

Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :

INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);

Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal ('horor') atau petik ganda ("horor"). Jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda.  

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

3. UPDATE

Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu table. Syntax :

UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];

Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu 

4. SELECT

Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.  

a.     Menampilkan data untuk semua kolom menggunakan asterisk (*) :

            

SELECT * FROM namatabel;

 

b.     Menampilkan data untuk kolom tertentu :

SELECT kolom1,kolom2,kolom-n FROM namatabel;

 

c.     Menampilkan data dengan kondisi data tertentu dengan klausa WHERE:

SELECT * FROM namatabel WHERE kondisi;

Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE

Symbol Operator

Keterangan

=

Sama dengan

>

Lebih dari

<

Kurang dari

< >

Tidak sama dengan

>=

Lebih dari sama dengan

<=

Kurang dari sama dengan

And

Dan

Or

Atau

Not

Bukan

Between  -  And

Diantara

In

Di dalam

Like

Menyamai

 

 

d.     Memberikan nama lain pada kolom :

SELECT namakolomlama AS namakolombaru FROM namatabel;

Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi jenis_film pada tabel jenisfilm:

SELECT JENIS AS TYPE FROM JENISFILM;

e.     Menampilkan data lebih dari dua tabel:

SELECT * FROM namatabel1, namatabel2, namatabel-n;

f.     Nested Queries / Subquery (IN, NOT IN, EXISTS, NOT EXISTS)

Subquery berarti query di dalam query. Dengan menggunakan subquery, hasil dari query akan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa WHERE atau HAVING. Pada klausa WHERE, subquery digunakan untuk memilih baris-baris tertentu yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING, subquery digunakan untuk memilih kelompok baris yang kemudian digunakan oleh query.

Contoh 1: 

Perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolomjenis-nya tercantum pada tabel film menggunakan IN :

SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);

atau menggunakan EXISTS

SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE HARGA > 2000);

 Pada contoh di atas:

SELECT JENIS FROM FILM disebut subquery, sedangkan :

SELECT * F ROM JENISFILM berkedudukan sebagai query.

Perhatikan, terdapat data jenis dan harga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data pada kolom jenis tidak terdapat pada kolom jenis di tabel film.

 

Contoh 2:

Perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tidak tercantum pada tabel film menggunakan NOT IN:

 

SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM FILM);

 

atau menggunakan NOT EXISTS 

 

SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM WHERE HARGA > 2000);

 

g.      Operator comparison ANY dan ALL

Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya jika:

 Gaji > ANY (S)

 Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan:

(gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)  

Contoh: perintah untuk menampilkan semua data jenisfilm yang harganya bukan yang terkecil:

 SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM JENISFILM);

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 query terhadap hasil  subquery.

Contoh : perintah untuk menampilkan data jenisfilm yang harganya paling tinggi:

SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM JENISFILM);

h.     Sintak ORDER BY

Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film berdasarkan kolom judul:

SELECT * FROM FILM ORDER BY JUDUL;

atau tambahkan ASC untuk pengurutan secara ascending (menaik) :

SELECT * FROM FILM ORDER BY JUDUL ASC;

atau tambahkan DESC untuk pengurutan secara descending (menurun):

SELECT * FROM FILM ORDER BY JUDUL DESC;

i.     Sintak DISTINCT

Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat  sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan beberapa kota asal yang sama. Kemudian ketikkan perintah berikut:

SELECT DISTINCT KOTA FROM PELANGGAN;

Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu saja.  

j.     UNION, INTERSECT dan EXCEPT

UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel film dimana jenisnya action dan horor:

SELECT JENIS, JUDUL FROM FILM WHERE JENIS = 'ACTION' UNION

SELECT  JENIS, JUDUL FROM FILM WHERE JENIS = 'HOROR';

 Perintah di atas identik dengan:

 SELECT JENIS, JUDUL FROM FILM WHERE JENIS = 'ACTION' OR JENIS = 'HOROR';

Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja pada dua tabel atau lebih.

 INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.

SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2;

Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat  menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.

EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.  

SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2;

Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.



Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque volutpat volutpat nibh nec posuere. Donec auctor arcut pretium consequat. Contact me 123@abc.com

0 komentar:

Posting Komentar