MySQL (dan MariaDB) memungkinkan kamu untuk mengganti struktur table dengan perintah SQL ALTER TABLE. Menggunakan perintah ini, kamu dapat dengan mudah mengganti nama dari tablet dan column, menambah atau menghapus column, atau mengganti tipe dari column yang sudah ada.
Cara dan Contoh Menggunakan SQL ALTER TABLE
Pertama, kita buat database dan tablet, yang akan kita namai database ‘tes’ dan tablet ‘karyawan.’
mysql -u root -p CREATE DATABASE test; USE test; CREATE TABLE employees ( id int NOT NULL, name varchar(255) );Mengganti Nama Table
Syntax untuk mengganti nama table:
ALTER TABLE table1 RENAME table2;Jadi untuk mengganti nama tablet ‘karyawan’ menjadi ‘user,’ eksekusi perintah berikut:
ALTER TABLE karyawan RENAME user;Menambah Column dan Mengganti Column Properties
Syntax untuk menambah column pada table adalah:
ALTER TABLE tablename ADD columnname datatypeUntuk menambah atau menghapus column:
ALTER TABLE tablename DROP COLUMN columname;Kita coba menambahkan column baru “alamat” dengan mengetik:
ALTER TABLE user ADD COLUMN alamat varchar(10);Untuk menambahkan column TIMESTAMP dengan nama ‘tanggal’ bisa dengan mengetik perintah:
Untuk menambahkan index pada column dengan nama ‘id’ bisa dengan mengetik perintah:
ALTER TABLE user ADD INDEX (id);Juga memungkinkan untuk menambahkan tambahan multiple:
ALTER TABLE user ADD uid INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD UNIQUE (uid);Jadi sekarang table kita seperti ini:
mysql> DESCRIBE users; +---------+------------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------+------------------+------+-----+-------------------+-----------------------------+ | id | int(11) | NO | MUL | NULL | | | nama | varchar(255) | YES | | NULL | | | alamat | varchar(10) | YES | | NULL | | | tanggal | timestamp | NO | | CURRENTTIMESTAMP | on update CURRENTTIMESTAMP | | uid | int(10) unsigned | NO | PRI | NULL | auto_increment | +---------+------------------+------+-----+-------------------+-----------------------------+Memodifikasi Column Type
Untuk memodifikasi column bisa menggunakan syntax:
ALTER TABLE tablename MODIFY COLUMN columnname datatype;Untuk mengganti field alamat agar lebih panjang bisa menggunakan syntax:
ALTER TABLE user MODIFY alamat VARCHAR(255);Kita juga bisa mengganti beberapa column secara bersamaan:
ALTER TABLE user MODIFY alamat VARCHAR(255), CHANGE nama namabelakang VARCHAR(255) NOT NULL;Dengan perintah tersebut, kita juga dapat mengganti column ‘nama’ menjadi ‘namabelakang’ dan membuatnya tidak boleh tidak diisi.
Mengganti Default Column Value
Untuk mengganti default value dari column, bisa menggunakan syntax SET DEFAULT:
Maka table kita akan terlihat seperti ini:
mysql> DESCRIBE users; +--------------+------------------+------+-----+------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+------------------+------+-----+-------------------+----------------------------+ | id | int(11) | NO | MUL | NULL | | | namabelakang | varchar(255) | NO | | NULL | | | alamat | varchar(255) | YES | | unknown | | | tanggal | timestamp | NO | | CURRENTTIMESTAMP | on update CURRENTTIMESTAMP | | uid | int(10) unsigned | NO | PRI | NULL | auto_increment | +--------------+------------------+------+-----+------------------+-----------------------------+Mengapa Menggunakan SQL ALTER TABLE
Membuat perubahan pada struktur database MySQL menggunakan command line dan ALTER TABLE terkadang lebih cepat dan lebih fleksibel daripada menggunakan PHPMyAdmin atau tool GUI lainnya.
Jakartawebhosting.com menyediakan layanan PHP Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.
Pada tutorial kali ini, Kita akan belajar tentang Cara Menggunakan Perintah Alter Table Di MySQL.
Apa Itu Alter Table?
Alter Table adalah salah satu perintah SQL yang digunakan untuk mengubah susunan atau struktur sebuah tabel, seperti menambahkan kolom, menghapus kolom, mengubah nama kolom, mengubah tipe data, memberikan komentar pada tabel dan kolom, menambahkan constraint, menghapus constraint, dan lain sebagainya.
Sebagai contoh latihan pada tutorial ini, coba Anda buat sebuah tabel dengan nama "TBL_PEGAWAI" seperti perintah di bawah ini:
CREATE TABLE tbl_pegawai ( id_pegawai INT NOT NULL , nama_pegawai VARCHAR(30) NULL , alamat VARCHAR(30) NULL, jenis_kelamin CHAR(1) NOT NULL, PRIMARY KEY (id_pegawai) );Menambah Kolom
Untuk menambah sebuah kolom pada tabel di database, Anda dapat menggunakan sintak di bawah ini:
ALTER TABLE table_name ADD COLUMN column_name datatype [NULL|NOT NULL] [AFTER|BEFORE] existing_column_name;Penjelasan sintak:
- ALTER TABLE adalah perintah SQL untuk merubah struktur tabel, diikuti dengan table_name yaitu nama tabel yang akan Anda ubah strukturnya.
- ADD COLUMN adalah perintah SQL untuk menambah kolom pada tabel diikuti dengan nama kolom, tipe data, dan parameter lainnya (Null atau Not Null)
- AFTER atau BEFORE adalah parameter tambahan, yaitu digunakan untuk menentukan posisi atau letak kolom yang Anda tambahkan, apakan sebelum atau sesudah kolom yang sudah ada sebelumnya (existing_column_name).
Contoh
Sebagai contoh, coba Anda tambahkan sebuah kolom pada tabel "TBL_PEGAWAI" sebagai berikut:
- Tambahkan sebuah
kolom dengan nama "no_hp" dengan tipe data VARCHAR(15) dan atribut NOT NULL.
Untuk menambahkan kolom sesuai diatas, Anda dapat menjalankan perintah di bawah ini:
ALTER TABLE tbl_pegawai ADD COLUMN no_hp VARCHAR(15) NOT NULL; - Tambahkan sebuah kolom dengan nama "jabatan" dengan tipe data VARCHAR(20) dan atribut NULL dan tempatkan setelah kolom "jenis_kelamin".
Untuk menambahkan kolom sesuai kriteria diatas, Anda dapat menjalankan perintah di bawah ini:
ALTER TABLE tbl_pegawai ADD COLUMN no_hp VARCHAR(15) NULL AFTER jenis_kelamin;
About Unknown
This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.