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 ini
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 | | +---------+------------+------+-----+---------+-------+ 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.
Latihan 1
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.
6 comments
good artikel :)
ReplyTerimakasih.. tulisannya sangat bermanfaat..semoga sukses...
ReplyMy blog
My Campus
makasih min
Replysolder temperatur
Artikelx bgus min.. Lumayan bisa membantu.. Untuk sharing pngetahuan kunjungi juga www.ittekcno.blogspot.com
ReplyKunjungi juga.https://ittekcno.blogspot.com/2019/08/cara-memanipulasi-data-pada-tabel-di.html?m=1
Replyhttps://ittekcno.blogspot.com/2019/07/belajar-dasar-dasar-mysql.html?m=1
ReplyPost a Comment