Jumat, 07 Januari 2011

Perintah Dasar SQL

sudah pernah dibahas mengenai beberapa perintah SQL dasar di MySQL termasuk bagaimana membuat database dan tabel. Lalu bagaimana dengan tipe tabel di MySQL? Ternyata MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL. MySQL memiliki 3 (tiga) tipe data utama, yaitu MyISAM, InnoDB dan HEAP. Jika kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis akan dibuat sesuai konfigurasi default server MySQL. Hal ini ditentukan oleh variabel default-table-type di file konfigurasi MySQL.
Apa saja tipe tabel di MySQL? Mari kita lihat satu per satu secara singkat (dan semoga cukup jelas ).
MyISAM
Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Jika kita akan menyimpan data sederhana yang tidak terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya. Jika kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :

1. MyISAM static. Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil.

2. MyISAM dymanic. Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom (field).

3. MyISAM Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.
InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:

1. Mendukung transaksi antar tabel.
2. Mendukung row-level-locking.
3. Mendukung Foreign-Key Constraints.
4. Crash recovery.

HEAP
Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.
Tipe Tabel yang Lain
Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL juga mendukung tipe tabel yang lain, yaitu:

  1. BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal.
  2. Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup.
  3. CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
  4. NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.
  5. Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.
Lalu bagaimana menentukan tipe tabel tersebut di tabel yang kita buat? Dengan menggunakan perintah SQL saat membuat tabel kita dapat menambahkan perintah Engine=tipe_tabel di akhir perintah. Contohnya sebagai berikut: CREATE TABLE produk ( id_produk varchar(5) NOT NULL, nm_produk varchar(30) NOT NULL, satuan varchar(10) NOT NULL, harga decimal(10,0) NOT NULL default '0', stock int(3) NOT NULL default '0', PRIMARY KEY (id_produk) ) ENGINE=InnoDB; Jika tabel sudah terbentuk, kita juga dapat mengubah tipe tabel dengan perintah ALTER. Contohnya sebagai berikut: ALTER TABLE produk engine = MyISAM
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama. Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL. 1. DDL atau Data Definition Language DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
  • CREATE
  • ALTER
  • RENAME
  • DROP
2. DML atau Data Manipulation Language DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
3. DCL atau Data Control Language DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
  • GRANT
  • REVOKE

2 comment:

narti mengatakan...

aduh ga ngerti.. :(
mesti belajar banyak lagi nih

Exzhadhian mengatakan...

@narti
hehehe...ngga papa,saya jg dulu blm paham,tp mudah2an bisa laa...hehe
baca terus ya...bljr bareng lah..:)

Posting Komentar