Apa Itu Alter Table?
ALTER TABLE adalah salah satu perintah di database MySQL untuk merubah struktur table baik itu merubah nama table, merubah nama kolom, merubah tipe data, dan lain-lain.Sebagai latihan, mari kita mulai dengan membuat table sebagai eksperimen.
- Login ke database MySQL
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use akademik;
Database changed - Buat Table TEST di MySQL, seperti berikut
mysql> CREATE table TEST(
-> kolom_1 varchar(5),
-> kolom_2 int(3),
-> kolom_3 date
-> );
Query OK, 0 rows affected (0.15 sec)
Untuk melihat struktur table TEST diatas, gunakan perintah dibawah inimysql> desc test;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(3) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
Menambah Kolom
Untuk menambahkan sebuah kolom pada suatu table, anda bisa menggunakan perintah berikut ini:SQL> ALTER TABLE nama_table
ADD nama_kolom [FIRST | AFTER];
Keterangan sintak :
- FIRST bersifat optional, kalau anda ingin menempatkan kolom yang anda tambahkan di urutan pertama.
- AFTER bersifat optional, kalau anda ingin menempatkan kolom yang anda tambahkan SETELAH kolom yang diinginkan.
Tambahkan sebuah kolom dengan nama kolom_4 dengan tipe data char(1) pada table TEST diatas!
Jawab
mysql> alter table TEST
-> add kolom_4 char(1);
Query OK, 0 rows affected (0.73 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(3) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
| kolom_4 | char(1) | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
Terlihat kolom kolom_4 telah ditambahkan pada table TEST.
Latihan 2
Tambahkan sebuah kolom lagi dengan nama kolom_0 dengan tipe char(10) pada table TEST, dan letakkan kolom_0 pada posisi pertama/teratas!.
Jawab
mysql> alter table TEST
-> add kolom_0 char(10)
-> first;
Query OK, 0 rows affected (0.29 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| kolom_0 | char(10) | YES | | NULL | |
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(3) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
| kolom_4 | char(1) | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Latihan 3
Tambahkan sebuah kolom dengan nama kolom_2_0 pada table TEST dengan tipe data int(4) dan tempatkan kolom tersebut setelah kolom_2.
Jawab
mysql> alter table TEST
-> add kolom_2_0 int(4)
-> AFTER kolom_2;
Query OK, 0 rows affected (0.30 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test;
+-----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+-------+
| kolom_0 | char(10) | YES | | NULL | |
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(3) | YES | | NULL | |
| kolom_2_0 | int(4) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
| kolom_4 | char(1) | YES | | NULL | |
+-----------+------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
Menghapus Kolom
Untuk menghapus sebuah kolom pada suatu table, anda bisa menggunakan sintak berikut ini:SQL> ALTER TABLE nama_table
DROP nama_kolom;
Sebagai latihan, coba anda delete/hapus kolom kolom_2_0 pada table TEST. Caranya adalah
mysql> alter table TEST
-> drop kolom_2_0;
Query OK, 0 rows affected (0.29 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| kolom_0 | char(10) | YES | | NULL | |
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(3) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
| kolom_4 | char(1) | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
5 rows in set (0.02 sec)
Pada table TEST diatas, terlihat bahwa kolom kolom_2_0 telah berhasil di hapus.
Merubah Tipe Data
Untuk merubah tipe data suatu kolom di table, anda bisa menggunakan sintak dibawah ini:SQL> ALTER TABLE nama_table
MODIFY nama_kolom tipe_data_baru;
Sebagai latihan coba anda ubah tipe data kolom_2 dari INT(3) menjadi INT(10). Caranya adalah sebagai berikut:
mysql> alter table test
-> modify kolom_2 int(10);
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test;
+---------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------+------+-----+---------+-------+
| kolom_0 | char(10) | YES | | NULL | |
| kolom_1 | varchar(5) | YES | | NULL | |
| kolom_2 | int(10) | YES | | NULL | |
| kolom_3 | date | YES | | NULL | |
| kolom_4 | char(1) | YES | | NULL | |
+---------+------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Merubah Nama Table (Rename)
Untuk merubah nama suatu table, anda bisa menggunakan sintak dibawah ini:SQL> ALTER TABLE nama_table
RENAME TO nama_table_baru;
Sebagai latihan, coba anda rename table TEST dengan nama TEST_BARU. Caranya adalah sebagai berikut:
mysql> alter table test
-> rename to test_baru;
Query OK, 0 rows affected (0.06 sec)
mysql> show tables;
+--------------------+
| Tables_in_akademik |
+--------------------+
| karyawan |
| test_baru |
+--------------------+
2 rows in set (0.00 sec)
Terlihat pada hasil perintah show tables diatas, table test telah berubah menjadi test_baru.
Sekian tutorial singkat tentang Perintah Alter Table di Database MySQL. Semoga bermanfaat & Happy Learning MySQL :).
Jika anda menyukai tutorial ini, silahkan anda share tutorial ini dengan teman-teman anda.
Salam,
Naura-Lab.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :