Selasa, 30 September 2014

SQL

Sekilas tentang Database

Singkatnya, database adalah tempat dimana kita akan “menyimpan” data yang dibutuhkan web
kita. Mengapa harus menggunakan database? Bukankah lebih mudah dalam bentuk file seperti
kita biasa menyimpan data dokumen MS Word dalam sebuah file .doc? Untuk menjawabnya,
Anda harus membaca dan mecobanya (baca: benar-benar mempraktekkannya) sampai tuntas.

Macam-macam Database

Untuk data yang teramat besar dan
kompleks, biasa digunakan Oracle, IBM DB2, PostgreSQL. Sedang untuk alasan kecepatan dan
kesederhanaan, tetapi masih mendukung data yang relatif besar, MySQL lah jawabannya.
MySQL bisa didapatkan secara gratis di www.mysql.com baik untuk keperluan pribadi, maupun
komersial.


SQL (Structured Query Language)

Semua database menggunakan bahasa SQL. Tetapi bahasa SQL yang digunakan tidak selalu
sama antara database satu dengan database lain, tergantung fitur-fitur yang didukung oleh
database tersebut. Penulisan perintah dalam bahasa SQL adalah incasesensitive. Artinya,
perintah ‘create database test’ sama dengan perintah ‘CREATe DaTaBaSE test’, tetapi tidak
sama dengan ‘create database Test’ (nama database-nya berbeda).

Membuat Database

Untuk membuat database baru, perintahnya adalah:
              mysql> CREATE DATABASE inventaris;
             Query OK, 1 row affected (0.01 sec)
              mysql>
Untuk menghapus database dan menghapus seluruh datanya, kita gunakan perintah DROP
diikuti dengan nama database yang akan kita hapus.
            mysql> DROP DATABASE inventaris;
            Query OK, 0 rows affected (0.00 sec)
            mysql>
Untuk memulai menggunakan database kita gunakan perintah USE diikuti dengan nama
database yang telah kita buat sebelumnya dengan CREATE DATABASE. Jika Anda menghapus
database inventaris dengan perintah DROP, buat lah kembali database inventaris.
            mysql> USE inventaris;
            Reading table information for completion of table and column names
            You can turn off this feature to get a quicker startup with -A
            Database changed
            mysql>

Tipe data MySQL

Setiap data pasti memiliki tipe. MySQL mendukung data berupa bilangan bulat (int, tinyint,
smallint, mediumint, bigint, decimal), bilangan real (float), karakter (varchar, char), teks
(tinytext, mediumtext, text, longtext), waktu (time, date, datetime, year, timestamp), binary file
(tinyblob, mediumblob, blob, longblob), dan beberapa tipe data lain. Tipe data berguna untuk
membedakan jenis data.
Tipe data karakter, teks, dan waktu selalu diawali dan diakhiri dengan tanda ‘'’. Jika kebetulan
datanya mengandung tanda ‘'’ juga, maka kita perlu menambah tanda escape ‘\’. Contoh:
        'This is Sam's book' 􀃆 salah
        'This is Sam\'s book' 􀃆 benar
Tipe data tanggal (date) memiliki format: YYYY-MM-DD. Contoh: '2003-05-02' berarti
tanggal 2 bulan 5 tahun 2003. Sedang tipe data time memiliki format HH:MM:SS. Timestamp adalah sebuah tipe data yang nilainya akan selalu berubah menjadi waktu saat terjadi query
INSERT atau UPDATE.

Membuat Tabel

Setelah kita mempunyai database, kita harus membuat tabel terlebih dahulu untuk menyimpan
data kita. Data yang tersimpan sering disebut dengan record. Sebuah tabel memiliki field-field
yang memiliki tipe data tertentu. Untuk memudahkan pengoperasian database, terkadang kita
membutuhkan sebuah field utama sebagai acuan (baca: id / primary key). Setiap data yang
masuk akan memiliki id yang berbeda. Sehingga walaupun ada dua atau lebih data yang sama,
akan tetap dianggap berbeda oleh MySQL karena memiliki id yang berbeda. Supaya id setiap
data berbeda-beda, dapat digunakan fungsi auto_increment, sehingga nilai id setiap data akan
bertambah 1 dari nilai id data sebelumnya.
Untuk melihat properti tiap tabel yang baru saja kita buat, gunakan perintah DESCRIBE. Sedangkan, untuk melihat tabel apa saja yang ada dalam sebuah database kita gunakan perintah SHOW.

Manipulasi Data

INSERT

Untuk memasukkan data, perintah yang digunakan adalah INSERT. Perhatikan beberapa
perbedaan penggunaan INSERT berikut ini.
              mysql> INSERT INTO komputer VALUES ('', 'Dell Optiplex');
              Query OK, 1 row affected (0.00 sec)
              mysql> INSERT INTO komputer VALUES ('', 'Sun Ultra 1');
              Query OK, 1 row affected (0.00 sec)
              mysql> INSERT INTO komputer (computer_desc) VALUES ('Dell Inspiron');
              Query OK, 1 row affected (0.00 sec)
              mysql> INSERT INTO komputer (computer_desc) VALUES ('Hp Vectra 500');
              Query OK, 1 row affected (0.01 sec)
              mysql>
Nilai field pertama pada dua perintah INSERT pertama adalah kosong atau ‘’. Hal ini
dikarenakan field pertama (computer_id) sudah auto_increment. Hal ini sama dengan dua
perintah INSERT terakhir, dimana field computer_id tidak diberi nilai.

SELECT

SELECT digunakan untuk mengambil data yang telah dimasukkan. Perintah ini lah yang akan
sering kita gunakan untuk menampilkan halaman web. Karena pada dasarnya, sebuah web
adalah sebuah operasi pengambilan data dari database yang kemudian ditampilkan di layar
komputer. Untuk pencarian lebih detail dapat digunakan klausa WHERE, IN, LIMIT, ORDER
BY, dsb. Jika nama field terlalu panjang, kita dapat menyederhanakannya dengan AS. Berikut
beberapa contoh penggunaan perintah SELECT.

UPDATE

Perintah UPDATE digunakan untuk mengubah nilai suatu record. Berikut adalah contoh
penggunaan UPDATE.

DELETE

Untuk menghapus satu atau lebih data, kita menggunakan perintah DELETE. Berikut adalah
beberapa contoh cara penghapusan record.
            mysql> DELETE FROM komputer WHERE computer_id=2;
            Query OK, 1 row affected (0.00 sec)
            mysql> DELETE FROM komputer WHERE computer_id IN (1,3);
            Query OK, 2 rows affected (0.00 sec)
            mysql> ### Menghapus SEMUA record ###
            mysql> DELETE FROM komputer;
            Query OK, 0 rows affected (0.02 sec)
            mysql>

SELECT…LIKE

Klausa LIKE dapat digunakan untuk mencari record jika digabungkan dengan perintah
SELECT. Di dalam klausa LIKE biasanya digunakan wildcard (%) yang berguna untuk
menyatakan semua karakter, mirip penggunaan wildcard (*) pada MS-DOS Prompt atau UNIX
shell. Untuk fungsi pencarian lebih lanjut, Anda dapat membaca tentang MySQL FULLTEXT
Search di MySQL Manual (http://www.phlab.net/myman/).

Tidak ada komentar:

Posting Komentar