Manipulasi data dengan SQL
Data Manipulation Language (DML) / Manipulasi Data
Data Manipulation Language digunakan untuk menampilkan, memasukkan dan memodifikasi informasi database. Perintah-perintah ini akan digunakan oleh semua pengguna database. Berikut ini adalah perintah-perintah DML dasar :
1. INSERT
Perintah INSERT di dalam SQL digunakan untuk menambah rekord ke dalam tabel yang telah dibuat. Contoh pada tabel sebelumnya, apabila ingin menambah data untuk tabel pegawai tersebut, maka dapat dilakukan dengan menggunakan perintah berikut ini :
INSERT INTO pegawai
values(1235556677,'Bambang D',’Jl. Karya Bakti 4’, ‘Jakarta’, ‘021-5556667’) ;
Perhatikan bahwa data pegawai berisi 5 atribut yang berurutan sesuai dengan struktur tabel yang telah dibuat yaitu peg_id, nama, alamat, kota dan telp.
2. UPDATE
Perintah UPDATE dapat digunakan untuk memodifikasi informasi yang berada dalam suatu tabel, baik memodifikasi keseluruhan data atau secara satu per satu.
Contoh dibawah ini merubah gaji seluruh pegawai dengan menambahkan 3 % untuk biaya hidup.
UPDATE tbl_gaji
SET gaji = gaji * 1.03;
Sedangkan untuk merubah satu record berdasarkan kriteria tertentu kita dapat melakukannya dengan perintah berikut ini :
UPDATE tbl_gaji
SET gaji = gaji + 200000
WHERE NIP = 1112345894;
3. DELETE
Perintah DELETE berguna untuk menghapus data-data di dalam sebuah tabel. DELETE tanpa kondisi apapun akan menghapus seluruh data yang ada di dalam tabel. Sedangkan perintah DELETE dengan menggunakan kondisi akan merubah data dengan kondisi yang ditentukan. Contoh di bawah ini menghapus data pegai dengan nomor NIP tertentu.
DELETE FROM pegawai
WHERE peg_id = 45678;
Hati-hati dalam penggunaan perintah DELETE pastikan database berada di tempat yang benar, dan apabila hanya akan menghapus satu record, pastikan anda memakai perintah kondisi WHERE.
4. SELECT
Perintah SELECT adalah perintah yang sering digunakan di dalam SQL. Perintah tersebut dapat mengeluarkan informasi data tertentu yang diinginkan oleh user melalui database operasional. Beberapa contoh di bawah ini akan menunjukkan bagaimana menggunakan perintah SELECT.
Sintaks untuk perintah SELECT :
SELECT [ALL | DISTINCT] kolom1[,kolom2]
FROM table1[,table2]
[WHERE "kondisi"]
[GROUP BY "kolom"]
[HAVING "kondisi]
[ORDER BY "kolom" [ASC | DESC] ]
a. MenggunakanWild Card (*)
SELECT * FROM pegawai;
Contoh diatas mengeluarkan semua kolom dalam tabel pegawai.
Output :
Peg_id Nama Alamat Kota Telepon E-mail
51268 Budi Darmawan Jl. Kebayoran Baru 5 Jakarta 021-66667777 budhi@gmail.com
75842 Anggi Yuanita Jl. Malabar Indah 6 Bogor 0251-9988777 agita@gmail.com
10225 Syaharani Melina Jl. Kayu putih 89 Jakarta 021-65236999 Syamel@yahoo.com
87651 Dadang Garnida Jl. Blok A No 6 Jakarta 021-66655588 daga@yahoo.com
b. Select dengan menggunakan DISTINCT
SELECT DISTINCT kota FROM pegawai;
Akan menampilkan daftar kota dengan tidak mengulang.
Output :
Kota
Jakarta
Bogor
c. Select dengan memilih kolom tertentu
SELECT peg_id, nama FROM pegawai;
Akan menampilkan data pegawai dengan kolom peg_id dan namanya.
Output :
Peg_id Nama
51268 Budi Darmawan
75842 Anggi Yuanita
10225 Syaharani Melina
87651 Dadang Garnida
d. Select dengan menggunakan kondisi (WHERE)
SELECT peg_id, nama, alamat, kota
FROM pegawai
WHERE kota = ‘Jakarta’;
Contoh diatas menampilkan peg_id, nama, alamat, kota para pegawai yang berdomisili di Jakarta.
Output :
Peg_id Nama Alamat Kota
51268 Budi Darmawan Jl. Kebayoran Baru 5 Jakarta
10225 Syaharani Melina Jl. Kayu putih 89 Jakarta
87651 Dadang Garnida Jl. Blok A No 6 Jakarta
e. Operator –operator pembanding
Operator Arti
= Sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar dari atau sema dengan
<= Lebih kecil dari atau sama dengan
<> atau != Tidak sama dengan
LIKE String pembandingan
Pada akhir perintah SQL jangan lupa untuk memberikan tanda semicolon (;). Tanda ; menunjukkan bahwa perintah SQL telah selesai dan lengkap serta siap untuk diterjemahkan.(Namun ada sebagian database engineyang tidak memerlukan tanda semicolon ; tersebut di dalam perintah sqlnya).
f. Menggunakan Operator LIKE
SELECT peg_id, nama, alamat, kota
FROM pegawai
WHERE nama LIKE ‘B%’;
Contoh diatas menampilkan pegawai dengan nama yang berawalan B.
Output :
Peg_id Nama Alamat Kota
51268 Budi Darmawan Jl. Kebayoran Baru 5 Jakarta
g. Menggunakan ORDER BY
SELECT peg_id, nama, alamat, kota
FROM pegawai
ORDER BY peg_id Asc;
Contoh diatas menampilkan data pegawai dengan diurutkan berdasarkan pegawai id dari yang terkecil ke yang terbesar.
Output :
Peg_id Nama Alamat Kota Telepon E-mail
10225 Syaharani Melina Jl. Kayu putih 89 Jakarta 021-65236999 Syamel@yahoo.com
51268 Budi Darmawan Jl. Kebayoran Baru 5 Jakarta 021-66667777 budhi@gmail.com
75842 Anggi Yuanita Jl. Malabar Indah 6 Bogor 0251-9988777 agita@gmail.com
87651 Dadang Garnida Jl. Blok A No 6 Jakarta 021-66655588 daga@yahoo.com
h. Menggunakan GROUP BY
Kita asumsikan memiliki tabel Toko seperti tabel di bawah ini :
Nama_toko Penjualan Tanggal
Makmur 1500000 01-05-1999
Sentosa 2500000 01-07-1999
Makmur 3000000 01-08-1999
Karya Cipta 7000000 01-08-1999
SELECT nama_toko, SUM(penjualan)
FROM took
GROUP BY nama_toko;
Contoh diatas menyeleksi nama toko dengan jumlah hasil penjualan digrup berdasarkan nama toko.
Output:
Nama_toko SUM(penjualan)
Makmur 4500000
Sentosa 2500000
Karya Cipta 7000000
i. Menggunakan HAVING
Kita asumsikan memiliki tabel Toko seperti di bawah ini :
Nama_toko Penjualan Tanggal
Makmur 1500000 01-05-1999
Sentosa 2500000 01-07-1999
Makmur 3000000 01-08-1999
Karya Cipta 7000000 01-08-1999
SELECT nama_toko, SUM(penjualan)
FROM toko
GROUP BY nama_toko
HAVING SUM(penjualan) > 5000000;
Contoh diatas menyeleksi nama toko dan jumlah hasil penjualan yang memiliki nilai penjualan lebih dari Rp. 5.000.000
Output:
Nama_toko SUM(penjualan)
Karya Cipta 7000000
j. Menggunakan JOIN
Kita asumsikan memiliki dua tabel yang saling berhubungan.
Tabel Toko
Nama_toko Penjualan Tanggal
Makmur 1500000 01-05-1999
Sentosa 2500000 01-07-1999
Makmur 3000000 01-08-1999
Karya Cipta 7000000 01-08-1999
Tabel Lokasi
Lokasi Nama_toko
Jakarta Timur Makmur
Jakarta Selatan Sentosa
Jakarta Utara Karya Cipta
Pada contoh ini kita ingin menampilkan penjualan untuk setiap toko dan didaerah mana toko itu berada.
SELECT A.lokasi LOKASI, B.nama_toko TOKO, SUM(B.penjualan) PENJUALAN
FROM Lokasi A, Toko B
WHERE A.nama_toko = B.nama_toko
GROUP BY A.nama_toko
Output:
LOKASI TOKO PENJUALAN
Jakarta Timur Makmur 4500000
Jakarta Selatan Sentosa 2500000
Jakarta Utara Karya Cipta 7000000

0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda