Pendahuluan
Query adalah bahasa yang dipergunakan
untuk melakukan proses permintaan yang diberikan oleh user atau pengguna
untuk mengambil informasi yang terdapat pada database dengan memberikan
suatu kriteria tertentu untuk penyaringan data sehingga data yang
memenuhi kriteria tersebut yang akan ditampilkan.
Contoh Query sederhana :- Tampilkan data pegawai yang tinggal di kota Surabaya.
- Tampilkan harga barang yang besarnya kurang dari 10000.
- Tampilkan data pegawai perempuan yang berusia kurang dari 30 tahun.
- Dll.
Salah satu bahasa Query yang paling populer digunakan saat ini adalah SQL (Structured Query Language). SQL adalah sebuah metode atau bahasa
yang dipergunakan untuk mengakses data dalam basis data (database)
relasional. Bahasa ini merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua server basis data
yang ada telah mendukung bahasa ini untuk melakukan manajemen datanya.
Secara umum SQL terbagi menjadi 3 (tiga) komponen, yaitu : Data Definition Language (DDL) komponen pendefinisian data, Data Manipulation Language (DML) komponen manipulasi data , dan Data Control Language (DCL) komponen pengontrol data.
- Data Definition Language (DDL)
DDL digunakan untuk mendefinisikan,
mengubah, serta menghapus basis data dan objek-objek yang diperlukan
dalam basis data, misalnya tabel, view, user,
dll. Secara umum, DDL yang sering digunakan adalah CREATE untuk membuat
sebuah objek baru, USE untuk menggunakan objek, ALTER untuk mengubah
objek yang sudah ada, dan DROP untuk menghapus objek yang sudah ada. DDL
dipergunakan oleh administrator basis data dalam pembuatan sebuah
aplikasi basis data.
CREATECREATE digunakan untuk membuat basis data maupun objek-objek basis data, SQL yang umum digunakan adalah :
Syntax : CREATE DATABASE nama_basis_data
Ket : CREATE DATABASE membuat sebuah basis data baru
Syntax : CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
Ket : CREATE TABLE membuat sebuah tabel
baru pada basis data yang sedang aktif. Nama_field adalah nama kolom
yang akan dibuat. Beberapa system manajemen basis data mengizinkan
penggunaan spasi dan karakter non-huruf pada penamaan kolom (field).
Tipe_data tergantung dari implementasi system manajemen basis data yang
kita buat (VARCHAR, TEXT, INT, DATE, Dll). Sedangkan constraints adalah
batasan-batasan yang diberikan untuk setiap kolom atau field, hal ini
juga tergantung dari implementasi system manajemen basis data yang kita
buat, misalnya NOT NULL, UNIQUE, dan sebagainya. Constraints juga dapat
digunakan untuk mendefinisikan kunci primer (primary key).
Contoh :CREATE TABLE user ( username VARCHAR(30) CONSTRAINT PRIMARY KEY, password VARCHAR(20) NOT NULL, tanggal_lahir DATETIME );Syntax diatas akan menghasilkan tabel user, sbb :
username | password | tanggal_lahir |
- Data Manipulation Language (DML)
#> SELECT : untuk menampilkan data yang sudah ada.
#> INSERT : untuk memasukkan data baru.
#> UPDATE : untuk mengubah data yang sudah ada.
#> DELETE : untuk menghapus data yang sudah ada.
Berikutnya akan kita bahas satu-persatu penggunaan dan contoh pemakaiannya dalam sebuah basis data :
SELECT
SELECT
adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah ini.
Select
digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya
dalam sebuah basis data yang sama. Perintah Select memiliki bentuk
lengkap sbb :SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...] FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung] [, nama_tabel3 [AS alias3], ...] [WHERE kondisi] [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]] [GROUP BY nama_field1[, nama_field2, ...]] [HAVING kondisi_aggregat]
Ket :
Kondisi adalah syarat yang harus dipenuhi
suatu data agar dapat ditampilkan, kondisi juga dapat dihubungkan
dengan operator logika misalnya AND, OR, dll. Sedangkan kondisi_aggregat
adalah syarat khusus untuk fungsi aggregat.
Fungsi aggregat (aggregate functions)
adalah fungsi yang bekerja terhadap suatu group atau dalam hal ini
adalah sekelompok data, dimana fungsi-fungsi tersebut terdiri dari :
Average (menghitung nilai rerata), Count (penjumlah kemunculan data), Max (nilai maksimal), Min (nilai minimal), Sum (penjumlah nominal data).
Studi Kasus, diasumsikan terdapat tabel user dengan data sbb:Username | Password | Tanggal_lahir | Jml_transaksi | Total_transaksi |
Aris | 123456789 | 02-03-1980 | 6 | 10.000 |
Budi | Budi123 | 14-04-1982 | 0 | 0 |
Charlie | passwd | 22-01-1986 | 24 | 312.150 |
Daniel | Daniel86 | 30-05-1984 | 3 | 0 |
Erik | 071083 | 04-04-1985 | 34 | 50.000 |
SELECT * FROM userContoh 2 : Tampilkan pengguna yang tidak pernah bertransaksi
SELECT * FROM user WHERE total_transaksi = 0Contoh 3 : Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
SELECT username FROM user WHERE jml_transakai < 10 AND total_transaksi > 1000Contoh 4 : Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_transaksi) AS total_nominal_transaksi FROM userContoh 5 : Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT * FROM user ORDER BY jml_transaksi DESCINSERT
Untuk menyimpan sebuah data baru ke tabel, dipergunakan syntax :
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])Contoh :
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');UPDATE
Untuk mengubah data yang sudah ada, dipergunakan syntax :
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]Contoh :
UPDATE Msuser set password="123456" where username="abc"DELETE
Untuk menghapus data yang ada, dipergunakan syntax :
DELETE FROM [NAMA_TABLE] [KONDISI]Contoh :
DELETE FROM TEST WHERE NAMA='test';
- Data Control Language (DCL)
Pada DCL hal terpenting adalah pemberian
otoritas, konfirmasi penyimpanan database, menunda perubahan dan
menghapus otoritas yang tekah diberikan. Pada beberapa database juga
dapat diatur database space per-user. Tidak semua basis data atau
database dapat melakukan pengontrolan data seperti pemberian otoritas,
dlsb.
Commit : Konfirmasi penyimpanan data di memoroy ke database.Rollback : Mengembalikan status transaksi sebelum penyimpanan.
Grant : Pemberian hak dari stu user ke user lainnya.
Revoke : penghapusan hak yang diberikan.
Refferensi :
http://id.wikipedia.org/wiki/
0 komentar
Silahkan Beri Komentar Saudara...