Mysql
 sql >> база данни >  >> RDS >> Mysql

КОЛОНА ИЗПУСКАНЕ на MySQL

Понякога може да се наложи да изтриете колона от таблицата на базата данни в MySQL. Можете лесно да направите това с помощта на командата MySQL DROP COLUMN. Ето как да премахнете колона от таблица в MySQL.

Как да махна колона от таблица в MySQL

Ето стъпките за премахване на колона от таблица в MySQL. Ще използваме MySQL DROP COLUMN заявка, за да премахнем съществуващите колони от таблицата.

Ето синтаксиса на израза DROP COLUMN:

ALTER TABLE table_name
DROP COLUMN column_name;

В горното изявление трябва да споменете таблицата, чиято колона искате да премахнете, в клаузата ALTER TABLE. След това посочете името на колоната в клаузата DROP COLUMN.

Можете да използвате само DROP, вместо да използвате DROP COLUMN по-горе.

Ако искате да премахнете няколко колони от таблицата, споменете ги в отделни клаузи DROP COLUMN, в същото изявление.

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

Когато премахнете колона от таблицата, всички съхранени процедури, изгледи и тригери, които се отнасят до тази колона, стават невалидни. Ще трябва да ги актуализирате ръчно, за да работят отново. Можете също да пуснете колона с индекс, но индексът ще стане невалиден след премахването на колоната.

Бонус четене:MySQL DROP TABLE

Примери за ОТПУСКАНЕ НА КОЛОНА MySQL

Да приемем, че имате следната таблица поръчки

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

Да приемем, че искате да ПУСКАТЕ КОЛОНА product_id

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

Бонус четене:Как да получите записи от днес в MySQL

MySQL ИЗПУСКА множество колони

Да приемем, че искате да премахнете продажбата и категорията на няколко колони. Ето инструкцията на MySQL DROP COLUMN за изтриване на множество колони от таблицата в 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    |       |
+------------+------+------+-----+---------+-------+

Бонус за четене:Как да получите записи от последните 7 дни в MySQL

MySQL DROP COLUMN с външен ключ

Ако се опитате директно да ПУСКАТЕ КОЛОНА с външен ключ, MySQL ще изведе грешка. Да приемем, че имате следните таблици

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

Бонус за четене:Как да получите записи между 2 дати в MySQL

В горния пример външният ключ category_id в orders3 препраща към колоната с идентификатор на първичен ключ от таблицата с категории. Ако се опитате да го изтриете, ще получите грешка.

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

Така че първо трябва да изтриете ограничението на външния ключ и едва след това да използвате 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво означава грешка в mysql 1025 (HY000):Грешка при преименуване на './foo' (errorno:150)?

  2. Изтриване на редове с MySQL LEFT JOIN

  3. TIMESTAMPADD() Примери – MySQL

  4. Имам масив от цели числа, как да използвам всяко от тях в mysql заявка (в php)?

  5. Съвети за надграждане от MySQL 5.7 до MySQL 8