Sintaks ALTER TABLE MySQL: Panduan Lengkap Modifikasi Struktur Tabel

Sintaks Dasar ALTER TABLE

Perintah ALTER TABLE dalam MySQL digunakan untuk memodifikasi struktur tabel yang sudah ada tanpa harus menghapus dan membuat ulang tabel tersebut. Operasi ini mencakup penambahan kolom baru, pengubahan tipe data kolom, penggantian nama kolom, hingga penghapusan kolom atau indeks.

Sintaks dasar yang digunakan adalah sebagai berikut:

ALTER TABLE nama_tabel aksi_perubahan;

Operasi Umum ALTER TABLE

Berikut adalah tabel referensi untuk aksi-aksi yang paling sering digunakan dalam manajemen database MySQL:

AksiSintaks
Tambah KolomADD nama_kolom tipe_data
Ubah Tipe KolomMODIFY nama_kolom tipe_data_baru
Ganti Nama KolomCHANGE nama_lama nama_baru tipe_data
Hapus KolomDROP COLUMN nama_kolom
Tambah IndeksADD INDEX nama_indeks (nama_kolom)

1. Menambah Kolom Baru

Untuk menambahkan kolom di posisi tertentu, gunakan kata kunci AFTER atau FIRST. Contoh:

ALTER TABLE pengguna ADD email VARCHAR(255) AFTER nama;

2. Mengubah Tipe Data Kolom

Gunakan MODIFY jika Anda hanya ingin mengubah tipe data atau atribut kolom tanpa mengubah namanya:

ALTER TABLE pengguna MODIFY nama VARCHAR(150) NOT NULL;

3. Mengganti Nama Kolom

Gunakan CHANGE untuk mengubah nama kolom sekaligus tipe datanya:

ALTER TABLE pengguna CHANGE alamat domisili TEXT;

4. Menghapus Kolom

Hati-hati saat menggunakan perintah ini karena data di dalam kolom tersebut akan terhapus permanen:

ALTER TABLE pengguna DROP COLUMN status;

Tips Troubleshooting Lapangan

  • Backup Data: Selalu lakukan mysqldump sebelum menjalankan perintah ALTER TABLE pada tabel dengan volume data besar, karena proses ini dapat mengunci tabel (table locking).
  • Algoritma ALGORITHM=INPLACE: Pada MySQL 5.6 ke atas, gunakan ALGORITHM=INPLACE, LOCK=NONE untuk melakukan perubahan tanpa mengunci tabel secara total, sehingga aplikasi tetap bisa melakukan operasi baca/tulis.
  • Verifikasi Tipe Data: Pastikan tipe data baru kompatibel dengan data yang sudah ada untuk menghindari error konversi.