Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL DROP COLUMN

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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Adakah cara untuk memilih tanpa menyebabkan penguncian di MySQL?

  2. Cara Memulihkan Cluster MySQL Galera Dari Budak Asinkron

  3. Perbarui Data di Database MySQL

  4. Kelompokkan berdasarkan bulan dan tahun di MySQL

  5. Masukkan Data ke dalam Database MySQL