Panduan Lengkap ALTER TABLE MySQL: Cara Menambah, Mengubah, dan Menghapus Kolom serta Constraint
Apa Itu ALTER Statement dalam MySQL?
ALTER TABLE
adalah perintah dalam MySQL yang digunakan untuk mengubah struktur tabel setelah dibuat. Dengan perintah ini, kita bisa menambah, mengubah, atau menghapus kolom, serta menambahkan atau menghapus constraint.
1. Menambah Kolom Baru (ADD COLUMN)
Untuk menambahkan kolom baru ke tabel yang sudah ada, gunakan perintah berikut:
ALTER TABLE nama_tabel
ADD COLUMN nama_kolom tipe_data constraints;
Contoh:
Misalkan kita memiliki tabel siswa
dengan struktur awal sebagai berikut:
CREATE TABLE siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
nis CHAR(10) UNIQUE
);
Jika ingin menambahkan kolom tanggal_lahir
dengan tipe data DATE, gunakan perintah berikut:
ALTER TABLE siswa
ADD COLUMN tanggal_lahir DATE;
Jika ingin menambahkan lebih dari satu kolom sekaligus:
ALTER TABLE siswa
ADD COLUMN alamat VARCHAR(255),
ADD COLUMN no_hp VARCHAR(15);
2. Mengubah Tipe Data Kolom (MODIFY COLUMN)
Jika kita ingin mengubah tipe data dari suatu kolom yang sudah ada, gunakan perintah berikut:
ALTER TABLE nama_tabel
MODIFY COLUMN nama_kolom tipe_data constraints;
Contoh:
Misalkan kita ingin mengubah kolom no_hp
di tabel siswa
dari VARCHAR(15) menjadi VARCHAR(20):
ALTER TABLE siswa
MODIFY COLUMN no_hp VARCHAR(20);
Jika ingin mengubah tipe data sekaligus menambahkan constraint NOT NULL:
ALTER TABLE siswa
MODIFY COLUMN alamat VARCHAR(255) NOT NULL;
3. Menghapus Kolom (DROP COLUMN)
Jika suatu kolom tidak lagi diperlukan, kita bisa menghapusnya dengan perintah berikut:
ALTER TABLE nama_tabel
DROP COLUMN nama_kolom;
Contoh:
Misalkan kita ingin menghapus kolom alamat
dari tabel siswa
:
ALTER TABLE siswa
DROP COLUMN alamat;
Catatan: Hati-hati dalam menggunakan DROP COLUMN
, karena data dalam kolom tersebut akan hilang secara permanen.
4. Menambahkan dan Menghapus Constraint
a. Menambahkan Constraint
Jika kita ingin menambahkan constraint setelah tabel dibuat, gunakan perintah berikut:
Menambahkan PRIMARY KEY (jika sebelumnya belum ada):
ALTER TABLE siswa ADD PRIMARY KEY (id);
Menambahkan FOREIGN KEY:
ALTER TABLE siswa ADD CONSTRAINT fk_kelas FOREIGN KEY (kelas_id) REFERENCES kelas(id);
Menambahkan UNIQUE Constraint:
ALTER TABLE siswa ADD CONSTRAINT unique_nis UNIQUE (nis);
Menambahkan DEFAULT Value pada Kolom:
ALTER TABLE siswa ALTER COLUMN created_at SET DEFAULT CURRENT_TIMESTAMP;
b. Menghapus Constraint
Jika ingin menghapus constraint yang sudah ada, gunakan perintah berikut:
Menghapus PRIMARY KEY:
ALTER TABLE siswa DROP PRIMARY KEY;
Menghapus FOREIGN KEY:
ALTER TABLE siswa DROP FOREIGN KEY fk_kelas;
Menghapus UNIQUE Constraint:
ALTER TABLE siswa DROP INDEX unique_nis;
Menghapus DEFAULT Value:
ALTER TABLE siswa ALTER COLUMN created_at DROP DEFAULT;
Kesimpulan
ALTER TABLE
dalam MySQL sangat berguna untuk mengelola perubahan dalam struktur tabel tanpa harus menghapus dan membuat ulang tabel dari awal. Dengan perintah ini, kita dapat menambah, mengubah, dan menghapus kolom, serta menambahkan dan menghapus constraint untuk memastikan integritas data.
Gabung dalam percakapan