Minggu, 08 September 2013

Cara Mengubah Struktur Tabel dengan Query SQL

Dalam artikel ini, saya akan coba bahas dalam blog ini mengenai bagaimana cara mengubah struktur tabel menggunakan query SQL. Meskipun untuk mengubah struktur tabel, khususnya pada MySQL ini, dapat kita lakukan dengan mudah menggunakan tool atau interface seperti PhpMyAdmin atau Navicat atau yang lain, namun… sejenak kita lupakan tool-tool tersebut. Mengapa demikian? yap…. kita mungkin tidak akan menduga, ketika di suatu saat kita dipaksa tidak boleh menggunakan tool seperti di atas dan mau tidak mau harus menggunakan SQL command untuk mengatur administrasi database. Boleh saja kita menggunakan tool, namun basic commandsnya jangan sampai diabaikan. Bukan begitu mbak ElisA? (salah satu member saya) :-) Kebetulan beliau ini sedang bingung karena ada tugas dari dosennya. Mudah-mudahan dari postingan artikel ini menjadi tidak bingung lagi :-)
OK… lanjut…
Ada beberapa proses yang termasuk dalam pengubahan struktur dalam tabel, yaitu :
  • menambah field baru dalam suatu tabel,
  • mengubah nama field,
  • mengubah tipe data field,
  • membuat primary key
  • mengubah properti field,
  • menghapus primary key,
Nah.. akan kita bahas satu persatu proses di atas. Mmm… tapi enaknya kita buat dalam studi kasus saja ya.

Andaikan kita sebelumnya telah memiliki tabel dengan struktur sebagai berikut:

1.CREATE TABLE mhs
2.(
3.nim varchar(8),
4.nama varchar(30),
5.tgllahir varchar(10)
6.)
Trus… nantinya kita akan ubah struktur tabel yang telah kita miliki di atas.
Menambah Field Baru
Sebagai contoh misalkan kita akan menambahkan field baru dengan nama ‘asalSekolah’ bertipe Varchar(20) sebagai field terakhir dari tabel, perintah SQL nya adalah

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20);
Anda juga dapat menyisipkan field ‘asalSekolah’ tersebut sebagai field pertama dalam tabel ‘mhs’ dengan perintah SQL sbb:

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20) FIRST;
Bagaimana bila kita ingin field ‘asalSekolah’ ini diletakkan setelah field ‘nama’? Gampang sekali caranya, cukup berikan perintah berikut ini

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20) AFTER nama;
Mengubah Nama Field
Sebagai contoh misalkan kita akan mengubah nama field ‘nama’ menjadi ‘namaMhs’. Perhatikan perintah SQL berikut ini

1.ALTER TABLE mhs CHANGE nama namaMhs VARCHAR(8);
Mengubah Tipe Data Field
Sebagai contoh misalkan kita akan mengubah tipe data dari field ‘tgllahir’ menjadi DATE, maka perintah SQL nya:

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE;
Catatan:
Perhatikan perintah di atas bahwa field ‘tgllahir’ ditulis 2 kali. Hal ini dilakukan apabila tidak ada perubahan nama field.
Membuat Primary Key
Misalkan kita akan membuat field ‘nim’ sebagai kunci atau primary key nya. Maka perintahnya adalah:

1.ALTER TABLE mhs ADD PRIMARY KEY (nim);
Bagaimana bila kita ingin lebih dari satu field sebagai kuncinya sekaligus? Ya… mudah saja tinggal berikan perintah SQL seperti ini

1.ALTER TABLE namatabel ADD PRIMARY KEY (field1, field2, ...);
Mengubah Properti Field
Yang dimaksud mengubah properti field, misalnya kita menambahkan auto increment pada suatu field atau kita mengatur suatu field tidak boleh NULL (berisi data kosong). Sebagai contoh misalnya kita akan memberikan auto increment pada field ‘nim’ (meskipun NIM menggunakan auto increment itu tidak boleh). Ingat ya… untuk auto increment ini hanya dapat diberikan pada field yang bertipe INTEGER saja. Oleh karena itu ketika akan memberikan auto increment, maka sekaligus kita ubah tipe data ‘nim’ menjadi INTEGER. Satu lagi yang penting bahwa field yang akan diberikan auto increment haruslah berupa kunci (key). Oleh karena itu kita sebelumnya harus sudah memilih ‘nim’ sebagai kunci nya. Berikut ini adalah perintah SQL untuk memberikan auto increment pada ‘nim’ dengan asumsi field ini sudah menjadi kunci.

1.ALTER TABLE mhs CHANGE nim nim INT AUTO_INCREMENT;
Sedangkan berikut ini perintah SQL untuk menghapus auto increment dari yang sudah kita set di atas

1.ALTER TABLE mhs CHANGE nim nim INT;
Kemudian, bagaimana bila kita ingin supaya suatu field tidak boleh kosong (NULL) datanya atau dengan kata lain, data untuk field tersebut harus terisi? Mudah saja, kita hanya tambahkan properti NOT NULL pada field yang kita inginkan. Misalkan kita set supaya field ‘tgllahir’ tidak boleh kosong, perintah SQL nya adalah:

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE NOT NULL;
Kebalikannya, bagaimana bila kita ingin mengembalikan ‘tgllahir’ ini memperbolehkan data kosong? Ya.. cukup ubah dari NOT NULL menjadi NULL.

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE NULL;
Menghapus Primary Key
Mmm.. untuk menghapus primary key, kita hanya bisa menghapus semuanya (tidak satu persatu) apabila terdapat lebih dari satu primary key. Adapun perintah untuk menghapus primary key yang ada dalam tabel ‘mhs’ adalah:

1.ALTER TABLE mhs DROP PRIMARY KEY;
OK… mudah-mudahan artikel ini berguna bagi Anda,

Tidak ada komentar :

Posting Komentar