Untuk mengubah struktur sebuah table di MySQL, Anda dapat menggunakan perintah atau statement ALTER TABLE.
Sintak Dasar
Di bawah ini adalah beberapa sintak dasar penggunaan perintah ALTER TABLE:
- Menambahkan Kolom
Untuk menambahkan sebuah kolom baru pada sebuah table, Anda menggunakan perintah berikut ini:
ALTER TABLE table_name ADD column_name data_type;
table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name dan data_type adalah nama kolom dan tipe data baru yang akan Anda tambahkan.
- Menghapus Kolom
Untuk menghapus sebuah kolom pada sebuah table, Anda menggunakan perintah berikut ini:
ALTER TABLE table_name DROP column_name;
table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name adalah nama kolom yang akan Anda hapus.
- Mengubah Tipe Data
Untuk mengubah tipe data pada sebuah kolom di table, Anda menggunakan perintah berikut ini:
ALTER TABLE table_name MODIFY column_name data_type [NULL|NOT NULL];
table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan column_name dan data_type adalah nama kolom dan tipe data baru yang akan Anda update.
- Menambahkan Primary Key
Untuk menambahkan sebuah primary key di sebuah table, Anda dapat menggunakan perintah berikut ini:
ALTER TABLE table_name ADD CONSTRAINT my_pk_constraint PRIMARY KEY (column1, column2...);
table_name adalah nama table yang akan Anda ubah strukturnya. my_pk_constraint adalah nama primary key yang akan Anda tambahkan. column1, column2, dan seterusnya adalah kolom yang akan Anda jadikan sebagai primary key.
- Menambahkan Unique Constraint
Untuk menambahkan sebuah Unique Constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:
ALTER TABLE table_name ADD CONSTRAINT my_unique_const UNIQUE(column1, column2...);
table_name adalah nama table yang akan Anda ubah strukturnya. my_unique_const adalah nama unique constraint yang akan Anda tambahkan. column1, column2, dan seterusnya adalah kolom yang akan Anda jadikan sebagai unique key.
- Menambahkan Check Constraint
Untuk menambahkan sebuah Check Constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:
ALTER TABLE table_name ADD CONSTRAINT my_check_const CHECK (CONDITION);
table_name adalah nama table yang akan Anda ubah strukturnya. my_check_const adalah nama check constraint yang akan Anda tambahkan. Condition adalah aturan yang diterapkan pada kolom tersebut, misalkan data yang masuk hanya boleh huruf 'L' atau 'P' pada kolom jenis kelamin.
- Menghapus Constraint
Untuk menghapus sebuah constraint di sebuah table, Anda dapat menggunakan perintah berikut ini:
ALTER TABLE table_name DROP CONSTRAINT my_constraint;
table_name adalah nama table yang akan Anda ubah strukturnya, sedangkan my_constraint adalah nama constraint yang akan Anda hapus.
Contoh
Misalkan Anda telah memiliki sebuah table "tbl_employee" dengan struktur table sebagai berikut:
mysql> DESCRIBE tbl_employee; +---------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+---------------+------+-----+---------+-------+ | employee_id | int(5) | NO | | NULL | | | employee_name | varchar(20) | NO | | NULL | | | birth_date | date | YES | | NULL | | | birth_place | varchar(20) | YES | | NULL | | | salary | decimal(10,2) | YES | | NULL | | | department | varchar(5) | YES | | NULL | | +---------------+---------------+------+-----+---------+-------+ 6 rows in set (0.08 sec)Dari struktur table di atas,
- Dari struktur table diatas, coba Anda tambahkan sebuah kolom baru dengan nama "phone_no" dengan tipe data varchar(15) dan tampilkan kembali struktur table tersebut.
Untuk menambahkan sebuah kolom baru sesuai permintaan diatas, Anda dapat menjalankan perintah berikut ini:
mysql> ALTER TABLE tbl_employee -> ADD COLUMN phone_no VARCHAR(15); Query OK, 0 rows affected (0.61 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql>
Untuk Menampilkan hasilnya, Anda dapat menggunakan perintah DESCRIBE pada table "tbl_employee" tsb.
mysql> DESCRIBE tbl_employee; +---------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+---------------+------+-----+---------+-------+ | employee_id | int(5) | NO | | NULL | | | employee_name | varchar(20) | NO | | NULL | | | birth_date | date | YES | | NULL | | | birth_place | varchar(20) | YES | | NULL | | | salary | decimal(10,2) | YES | | NULL | | | department | varchar(5) | YES | | NULL | | | phone_no | varchar(15) | YES | | NULL | | +---------------+---------------+------+-----+---------+-------+ 7 rows in set (0.00 sec)
- Hapus kolom phone_no pada table "tbl_employee" tersebut. Untuk menghapus sebuah kolom Anda dapat menjalankan perintah berikut ini:
mysql> ALTER TABLE tbl_employee -> DROP COLUMN phone_no; Query OK, 0 rows affected (0.59 sec) Records: 0 Duplicates: 0 Warnings: 0
Sekian tutorial singkat tentang Cara Mengubah Struktur Sebuah Table Di MySQL. Semoga bermanfaat & Happy Learning MySQL Database.
Salam,
Nursalim
EmoticonEmoticon