# Query Database

6 04 2010

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.

Structured Query Language (SQL)

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.

CREATE

CREATE 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)

DML digunakan untuk memanipulasi data yang sudah ada dalam suatu tabel. SQL yang umum diguanakan adalah :

#>  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 :

Syntax :

        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

Contoh 1 : Tampilkan seluruh data

               SELECT * FROM user

Contoh 2 : Tampilkan pengguna yang tidak pernah bertransaksi

               SELECT * FROM user
               WHERE total_transaksi = 0

Contoh 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 > 1000

Contoh 4 : Tampilkan total nominal transaksi yang sudah terjadi.

               SELECT SUM(total_transaksi) AS total_nominal_transaksi
               FROM user

Contoh 5 : Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.

               SELECT *
               FROM user
               ORDER BY jml_transaksi DESC

INSERT

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/

http://www.google.co.id/


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: