Terkadang Anda mungkin perlu menghapus kolom dari tabel database di MySQL. Anda dapat dengan mudah melakukan ini menggunakan perintah MySQL DROP COLUMN. Berikut cara menghapus kolom dari tabel di MySQL.
Cara Melepas Kolom dari Tabel di MySQL
Berikut adalah langkah-langkah untuk melepaskan kolom dari tabel di MySQL. Kami akan menggunakan query MySQL DROP COLUMN untuk menghapus kolom yang ada dari tabel.
Berikut sintaks pernyataan DROP COLUMN:
ALTER TABLE table_name DROP COLUMN column_name;
Dalam pernyataan di atas, Anda perlu menyebutkan tabel yang kolomnya ingin Anda hapus, dalam klausa ALTER TABLE. Kemudian tentukan nama kolom pada klausa DROP COLUMN.
Anda hanya dapat menggunakan DROP, daripada menggunakan DROP COLUMN di atas.
Jika Anda ingin menghapus beberapa kolom dari tabel, sebutkan dalam klausa DROP COLUMN terpisah, dalam pernyataan yang sama.
ALTER TABLE table_name DROP COLUMN column1, DROP COLUMN column2, DROP COLUMN column3;
Saat Anda menghapus kolom dari tabel, semua prosedur tersimpan, tampilan, dan pemicu yang merujuk ke kolom ini menjadi tidak valid. Anda perlu memperbaruinya secara manual agar berfungsi kembali. Anda juga dapat menghapus kolom dengan Indeks tetapi indeks akan menjadi tidak valid setelah kolom dihapus.
Bonus Baca :MySQL DROP TABLE
Contoh DROP COLUMN MySQL
Katakanlah Anda memiliki tabel berikut pesanan
mysql> create table orders(order_date date, sale int, product_id int, category varchar(255));
Katakanlah Anda ingin MENGHAPUS KOLOM id_produk
mysql> alter table orders drop column product_id; mysql> describe orders; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | | sale | int(11) | YES | | NULL | | | category | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+
Bonus Baca :Cara Mendapatkan Catatan Mulai Hari Ini di MySQL
MySQL DROP Beberapa Kolom
Katakanlah Anda ingin menghapus beberapa kolom penjualan &kategori. Berikut pernyataan MySQL DROP COLUMN untuk menghapus beberapa kolom dari tabel di MySQL
mysql> alter table orders drop column sale, drop column category; mysql> describe orders; +------------+------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | +------------+------+------+-----+---------+-------+
Bonus Baca :Cara Mendapatkan Record dari 7 Hari Terakhir di MySQL
MySQL DROP COLUMN dengan Kunci Asing
Jika Anda mencoba langsung DROP COLUMN dengan Foreign Key MySQL akan menimbulkan kesalahan. Katakanlah Anda memiliki tabel berikut
mysql> create table orders3(id int auto_increment primary key,category_id int); mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> ALTER TABLE orders3 ADD CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id);
Bonus Baca :Cara Mendapatkan Catatan Antara 2 Tanggal di MySQL
Dalam contoh di atas, kategori_id kunci asing di pesanan3 mereferensikan kolom ID kunci utama dari tabel kategori. Jika Anda mencoba untuk menghapusnya, Anda akan mendapatkan kesalahan.
mysql> alter table orders3 drop column category_id; ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint
Jadi pertama-tama Anda perlu menghapus batasan kunci asing dan baru kemudian menggunakan MySQL DROP COLUMN
mysql> alter table orders3 drop foreign key fk_cat; mysql> alter table orders3 drop column category_id; mysql> describe orders3; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | +-------+---------+------+-----+---------+----------------+
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!