DML - SQL - Basis data
Data Manipulation Language (DML)
DML atau Data Manipulation Language merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data atau objek yang ada dalam tabel.
DML terdiri dari:
Insert : untuk menambah data dalam satu record
insert into nama_tabel (nama_field1, namafield2, ...) values ('nilai_field1', 'nilai_field2', ...)
atau
bisa juga bila kita mengingat seluruh bentuk field dalam tabel
insert into nama_table values ('nilai_field1', 'nilai_field2', ...)
Contoh:
insert into pegawai (nip, nama) values ('01','Anggun')
Select : menampilkan record data pada tabel
select * from nama_tabel
Simbol * bermaksud 'all' atau 'semua', dan digunakan untuk mewakili semua atribut dalam satu tabel.
Contoh:
select * from pegawai
(menampilkan data di semua field yang ada dalam tabel pegawai)
select nama_field1, nama_field2 from nama_tabel
Contoh:
select nip, alamat from pegawai
select * from nama_tabel where nama_field='nilai_field'
(menampilkan baris record tertentu berdasarkan field yang diberikan)
Contoh:
select * from pegawai where alamat='Banjaran'
select distinct nama_field from nama_tabel
(menampilkan satu field beserta recordnya yang tidak akan berulang)
Contoh:
select distinct alamat from pegawai
select distinct nama_field1, nama_field2 from nama_tabel
(menampilkan beberapa field beserta recordnya yang sama dan tidak akan berulang)
Contoh:
select distinct alamat, status from pegawai
select nama_field ungkapan aritmatik from nama_tabel
(menggunakan ungkapan aritmatik dalam pernyataan +, -, / , *)
Contoh:
SELECT nama, gaji/2 FROM pegawai
SELECT nama, gaji/2 AS gajisetengah FROM pegawai
Select nama_field AS nama_field_baru from nama_tabel
(membuat dan mengubah judul field yang akan ditampilkan)
Contoh:
SELECT nama AS namalengkap FROM pegawai
SELECT nama_field FROM nama_tabel WHERE simbol perbandingan
(menggunakan simbol perbandingan <.>,= untuk membuat pemilihan)
Contoh:
SELECT nama,gaji FROM pegawai WHERE gaji >10000000
SELECT nama,gaji FROM pegawai WHERE gaji <9000000
SELECT nama,gaji FROM pegawai WHERE gaji =9000000
Select nama_field1, nama_field2 FROM nama_tabel WHERE nama_field1 operatorboolean nama_field2
(menggunakan operator Boolean seperti AND, OR, dan NOT)
Contoh:
SELECT alamat, gaji FROM pegawai where alamat = 'Banjaran' AND gaji>10000000
SELECT alamat, gaji FROM pegawai where alamat = 'Ciparay' OR gaji>9000000
SELECT * FROM pegawai WHERE alamat = 'Ciparay' OR alamat='Banjaran'
SELECT * FROM pegawai WHERE NOT alamat ='Banjaran'
SELECT nama_field from nama_tabel WHERE nama_field BETWEEN nilai AND nilai
Contoh:
SELECT nama, gaji FROM pegawai WHERE gaji BETWEEN 8500000 AND 10000000
SELECT nama_field from nama_tabel WHERE nama_field IN (nilai_field1, nilai_field2)
(pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai)
Contoh:
SELECT * FROM pegawai WHERE alamat IN ('Ciparay','Banjaran')
SELECT nama, alamat FROM pegawai WHERE alamat IN ('Ciparay', 'Banjaran')
SELECT nama_field FROM nama_tabel WHERE nama_field LIKE '%ekspresi%'
Contoh:
SELECT * FROM pegawai WHERE alamat LIKE '%Asep%'
(menampilkan semua kolom dari tabel pegawai yang namanya mengandung kata Asep)
Fungsi AGREGAT
fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output.
SELECT fungsi agregat SUM/AVG/MIN/MAX/COUNT (nama_field) AS nama_field_baru FROM nama nama_tabel
Contoh:
SELECT SUM (tunjangan) AS jml_tunj FROM pegawai
SELECT AVG (gaji) AS rata_gaji FROM pegawai
SELECT MIN (gaji) AS gaji_min FROM pegawai - SELECT MIN (gaji) AS gaji_min FROM pegawai WHERE status='nikah'
SELECT MAX (gaji) AS gaji_max FROM pegawai - SELECT MAX (gaji) AS gaji_max FROM pegawai WHERE status='nikah'
SELECT COUNT (nip) AS jml_peg FROM pegawai - SELECT COUNT (nip) AS jml_peg FROM pegawai WHERE status='nikah'
Pengelompokan Record (Group by)
SELECT nama_field1, nama_field2 FROM nama_tabel GROUP BY field pengaju
Contoh:
SELECT jeniskelamin, COUNT (*) AS jumlah FROM pegawai GROUP BY jeniskelamin
Pengurutan (Order by)
SELECT nama_field1 FROM nama_tabel WHERE kriteria ORDER BY nama_field2
SELECT nip, nama WHERE jeniskelamin='perempuan' ORDER BY nama
SELECT nip, nama WHERE jeniskelamin='perempuan' ORDER BY nama ASC
SELECT nip, nama WHERE jeniskelamin='perempuan' ORDER BY nama DESC
menampilkan kelompok-kelompok data tertentu. HAVING digunakan untuk memberikan criteria setelah pengelompokan dilakukan, menyaring kelompok, dan menentukan kondisi bagi GROUP BY.
SELECT nama_field1, .. FROM nama_tabel GROUP BY field pengaju HAVING kondisi
Contoh:
SELECT barang, count (jumlah) AS totalfaktur FROM torder GROUP BY idbarang HAVING idbarang='A003'
Update : untuk melakukan perubahan terhadap sejumlah data pada tabel.
UPDATE nama_tabel SET nama_field=nilai WHERE kondisi;
UPDATE nama_tabel SET nama_field=nilai
Contoh:
UPDATE pegawai SET alamat='Majalengka' WHERE nip='01'
UPDATE pegawai SET gaji=gaji+120000
Delete: untuk menghapus sejumlah data yang ada dalam tabel.
delete from nama_tabel where kondisi
Contoh:
DELETE FROM pegawai WHERE nip='01'
Manfaat DML
- Pengambilan informasi yang disimpan dalam basis data.
- Penyisipan informasi baru ke basis data
- Penghapusan informasi dari basis data
- Modifikasi informasi yang disimpan dalam basis data
- Penggunaan Query (bahasa query) merupakan perintah basis data yang ditulis untuk mengambil informasi.