Cara Mengubah Struktur Tabel dengan Query SQL
February 15th, 2009 | by rosihanari |
Cetak Artikel
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 Elis? (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:
CREATE TABLE mhs ( nim varchar(8), nama varchar(30), tgllahir varchar(10) )
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
ALTER TABLE mhs ADD asalSekolah VARCHAR(20);
Anda juga dapat menyisipkan field ‘asalSekolah’ tersebut sebagai field pertama dalam tabel ‘mhs’ dengan perintah SQL sbb:
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
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
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:
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:
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
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.
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
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:
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.
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:
ALTER TABLE mhs DROP PRIMARY KEY;
OK… mudah-mudahan artikel ini berguna bagi Anda, khususnya mbak Elis ya
Sudah tidak bingung kan mbak?
| Baca Juga Artikel Terkait |
Kata kunci: alter - query - SQL -




Mau cari tau gmn caanya kirim email lewat ms acces, karena data emailnya serta databasenya ada di ms acces. thx yaa
Makasih ilmunya pak…
Maaf pak, saya ada beberapa pertanyaan :
1. ada 2 user database user A dan User B mengakses tabel “employees” yg terdapat dlm databes “Northwind” dlm RDBS SQL Server. Ketika user A melakukan perubahan data (update) pd tabel “employees”, nilai terbaru hasil perubahan yg dilakukan oleh user A tdk terlihat (invinsible) oleh user B ketika user B melakukan perintah SELECT pd tabel “employees”. mengapa bisa terjadi ya pak ?
2. apabila kita akan menerapkan constraint terhadap database dimana pada awalnya tabel-tabel yg dibuat blm memiliki constraint, sementara data2 yg terdapat didlm basis data tersebut sudah banyak. tahapan apa yg harus kita lakukan agar kita tdk kehilangan data tersebut dan dpt dilakukan secaara efisien.
Terima kasih banyak atas bantuannya.
Salam kenal pak, mohon bantuannya, cara merubah isi kolom A pada tabel N = slow, jika isi kolom B pada tabel M = 1 between 10.
MAAF GIMANA MENJALANKA UPDATE QUERY????
@nurjaman: kan sintaksnya UPDATE namatabel SET field1 = ‘value’, field2 = ‘value’, … [WHERE syarat]
pagi gan…numpang copy ye..
@hidayat: silakan Gan… asal dikasih sumber nya ya
kren blog na…mmpir k sya ya gab…
@hidayat: OK Gan….
mantap ….
SAYA TRBIASA MEMBUAT DATA BASE DENGAN ACCES, AKAN TETAPI KETIKA SAYA MENCOBA DENGAN SQL, QUERY YANG SAYA BUAT TIDAK DAPAT DIMASUKKAN KE DALAM QUERY DI SQL, KENAPA YA…?
BAGAIMANA MENGUBAH QUERI DALAM ACCES AGAR BISA DIGUNAKAN DALAM SQL