Pengetahuan dasar SQL dengan MySQL Database (Bag 2)

24 03 2012

Melanjutkan tulisan terdahulu, sekarang kita akan membahas lebih jauh lagi mengenai perintah – perintah dasar SQL dalam MySQL, selanjutnya perintah query yang akan kita bahas adalah “alter”, Alter adalah perintah dasar dalam query yang berfungsi untuk menambahkan property terhadap table, view, store procedure, function atau trigger yang sudah ada. Sebagai contoh kita akan mencoba menambahkan 1 field “goldarah” terhadap sebuah table mahasiswa dimana field tersebut diposisikan setelah field “jkelamin”.

ALTER TABLE `sim_mahasiswa`.`mahasiswa` ADD COLUMN `goldarah` CHAR(1) NULL AFTER `jkelamin`;

Fungsi alter tidak saja berfungsi sebagai penambah field table, tetapi juga dapat digunakan untuk menambahkan primary key, foreign key, index key, merubah properti field, properti table, mereset nilai increment untuk table yang menggunakan fungsi auto_increment, secara berurutan akan dicontohkan perintah dari masing – masing fungsi yang disebut diatas, pertama jika ingin menambahkan sebuah field biasa menjadi primary key dengan perintah sebagai berikut:

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` CHANGE `mahasiswa_id` `mahasiswa_id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY(`id`, `mahasiswa_id`);

Kemudian diikuti dengan contoh merubah field biasa menjadi foreign key dengan contoh perintah sebagai berikut:

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` ADD CONSTRAINT `FK_nilai_siswa` FOREIGN KEY (`mahasiswa_id`) REFERENCES `mahasiswa` (`id`);

Sekarang bagaimana caranya merubah sebuah field biasa menjadi index key, (sekilas tentang index key adalah field table yang di daftarkan ke database system untuk disimpan didalam memory fisik, dengan tujuan ketika ada proses pencarian terhadap table tersebut yang menggunakan field index setelah reserved word “WHERE”, “JOIN”, “GROUP BY” dan “ORDER BY” maka proses pencarian data akan lebih cepat dibandingkan dengan field yang tidak index) dengan contoh perintah sebagai berikut:

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` ADD INDEX `mahasiswa_id` (`mahasiswa_id`);

Sedikit membahas tentang field index dalam database MySQL setiap field yang dialokasikan menjadi field index, maka proses pencarian data menjadi 100 kali lebih cepat dibanding dengan field yang tidak di index, kecepatan proses ini hanya akan terasa jika data dalam table tersebut mencapai angka diatas puluhan ribu baris dengan syarat konfigurasi server database memenuhi untuk itu, sedangkan index key sendiri terbagi menjadi empat macam index yaitu:

  • Default adalah index key yang disimpan didalam memory fisik tanpa penggunaan metode khusus, cukup dengan alokasi memory storage, maka proses pencarian data yang menggunakan index key akan lebih cepat.

  • Unique adalah metode index key yang dikhususkan untuk field yang bertipe data berbasis angka (int, float, bigint, long, dll) dengan tujuan dengan metode pencarian data unique berarti proses mencari data akan lebih cepat lagi karena tidak akan menemui duplikasi index ketika mencari data yang diinginkan.

  • Full Text adalah metode index key yang dikhususkan untuk field bertipe data berbasis text (char, varchar, blob, tinytext, mediumtext, largetext) dengan menggunakan metode fulltext index setiap satu karakter yang tersimpan dalam field dengan fulltext index maka karakter – karakter tersebut akan tersimpan di memory storage, sehingga pencarian field text lebih cepat.

  • Primary Key adalah field index yang secara khusus mengidentifikasi setiap baris record yang terdapat dalam sebuah table.

Pembahasan dilanjutkan dengan perintah merubah properti field, properti table, mereset nilai increment untuk table yang menggunakan fungsi auto_increment, perintah berikutnya adalah merubah properti field “nilai_angka” yang berawal menggunakan tipe “INT(1)” menjadi “BIGINT(11)” dengan contoh sebagai berikut:

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` CHANGE `nilai_angka` `nilai_angka` BIGINT(11) NULL ;

Kemudian jika kita ingin merubah type database dari MyISAM menjadi InnoDB atau sebaliknya, perintah yang digunakan adalah sebagai berikut (perbedaan tentang type database ini akan dibahas di artikel lain):

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` ENGINE = MYISAM; 

atau

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` ENGINE = INNODB; 

Yang terakhir adalah alter terhadap nilai auto_increment yang berfungsi untuk mengatur nilai auto_increment terhadap sebuah field primary key dengan tipe data angka (int, float, bigint, dll), tujuan dari penggunaan alter auto_increment ini jika suatu saat terjadi perubahan data yang mengakibatkan hilangnya data dalam jumlah besar maka untuk mengatur nilai primary key konsisten terhadap jumlah data maka fungsi ini dapat digunakan untuk mengatur hal tersebut:

ALTER TABLE `sim_mahasiswa`.`nilai_siswa` AUTO_INCREMENT = 10;

Cobalah beberapa contoh perintah sql query diatas dan lihat hasilnya menggunakan perintah select, desc atau show. Selamat mencoba!


Actions

Information

2 responses

25 03 2012
gugum

Ditunggu Psoting berikutnya.. Thanks

25 03 2012
gugum

Thanks banyak.. Ditunggu Postingan Selanjutnya

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 )

Connecting to %s




%d bloggers like this: