Mysql
 sql >> Baza danych >  >> RDS >> Mysql

KOLUMNA UPUSZCZANIA MySQL

Czasami może być konieczne usunięcie kolumny z tabeli bazy danych w MySQL. Możesz to łatwo zrobić za pomocą polecenia MySQL DROP COLUMN. Oto jak usunąć kolumnę z tabeli w MySQL.

Jak usunąć kolumnę z tabeli w MySQL

Oto kroki, aby usunąć kolumnę z tabeli w MySQL. Użyjemy zapytania MySQL DROP COLUMN, aby usunąć istniejące kolumny z tabeli.

Oto składnia instrukcji DROP COLUMN:

ALTER TABLE table_name
DROP COLUMN column_name;

W powyższej instrukcji musisz wspomnieć o tabeli, której kolumnę chcesz usunąć, w klauzuli ALTER TABLE. Następnie określ nazwę kolumny w klauzuli DROP COLUMN.

Możesz użyć tylko DROP, zamiast powyższego DROP COLUMN.

Jeśli chcesz usunąć wiele kolumn z tabeli, podaj je w oddzielnych klauzulach DROP COLUMN, w tej samej instrukcji.

ALTER TABLE table_name
DROP COLUMN column1,
DROP COLUMN column2,
DROP COLUMN column3;

Po usunięciu kolumny z tabeli wszystkie procedury składowane, widoki i wyzwalacze, które odwołują się do tej kolumny, stają się nieprawidłowe. Musisz je ręcznie zaktualizować, aby ponownie działały. Możesz także usunąć kolumnę z indeksem, ale indeks stanie się nieważny po usunięciu kolumny.

Przeczytaj bonus:MySQL DROP TABLE

Przykłady upuszczania kolumn MySQL

Załóżmy, że masz następującą tabelę zamówienia

mysql> create table orders(order_date date, 
       sale int, 
       product_id int, 
       category varchar(255));

Załóżmy, że chcesz UPUŚĆ KOLUMNĘ id_produktu

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    |       |
+------------+--------------+------+-----+---------+-------+

Przeczytaj bonus:Jak uzyskać dzisiejsze rekordy w MySQL

Wiele kolumn MySQL DROP

Załóżmy, że chcesz usunąć sprzedaż i kategorię wielu kolumn. Oto instrukcja MySQL DROP COLUMN do usuwania wielu kolumn z tabeli w 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    |       |
+------------+------+------+-----+---------+-------+

Przeczytaj bonus:Jak uzyskać rekordy z ostatnich 7 dni w MySQL

MySQL DROP COLUMN z kluczem obcym

Jeśli spróbujesz bezpośrednio DROP COLUMN za pomocą obcego klucza, MySQL zwróci błąd. Załóżmy, że masz następujące tabele

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);

Przeczytaj bonus:Jak uzyskać rekordy między 2 datami w MySQL

W powyższym przykładzie klucz obcy id_kategorii w zamówieniu3 odwołuje się do kolumny identyfikatora klucza podstawowego z tabeli kategorii. Jeśli spróbujesz go usunąć, pojawi się błąd.

mysql> alter table orders3 drop column category_id;
ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint

Więc najpierw musisz usunąć ograniczenie klucza obcego, a dopiero potem użyć 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 ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podstawy kluczy obcych w MySQL?

  2. JSON_STORAGE_SIZE() – Znajdź rozmiar przechowywania dokumentu JSON w MySQL

  3. JSON_OBJECT() – Utwórz obiekt JSON z listy par klucz/wartość w MySQL

  4. Jak połączyć się z bazą danych za pomocą klienta NaviCat MySQL

  5. Jak konwertować wielkie litery na małe litery w MySQL