Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

COLUNA DROP MySQL


Às vezes, você pode precisar excluir a coluna da tabela do banco de dados no MySQL. Você pode fazer isso facilmente usando o comando MySQL DROP COLUMN. Veja como remover a coluna da tabela no MySQL.


Como remover colunas da tabela no MySQL


Aqui estão as etapas para remover a coluna da tabela no MySQL. Usaremos a consulta MySQL DROP COLUMN para remover as colunas existentes da tabela.

Aqui está a sintaxe da instrução DROP COLUMN:
ALTER TABLE table_name
DROP COLUMN column_name;

Na declaração acima, você precisa mencionar a tabela cuja coluna você deseja eliminar, na cláusula ALTER TABLE. Em seguida, especifique o nome da coluna na cláusula DROP COLUMN.

Você pode usar apenas DROP, em vez de usar DROP COLUMN acima.

Se você deseja remover várias colunas da tabela, mencione-as em cláusulas DROP COLUMN separadas, na mesma instrução.
ALTER TABLE table_name
DROP COLUMN column1,
DROP COLUMN column2,
DROP COLUMN column3;

Quando você remove uma coluna da tabela, todos os procedimentos armazenados, exibições e gatilhos que fazem referência a essa coluna se tornam inválidos. Você precisará atualizá-los manualmente para fazê-los funcionar novamente. Você também pode descartar a coluna com o índice, mas o índice se tornará inválido após a remoção da coluna.

Bônus de leitura:MySQL DROP TABLE


Exemplos MySQL DROP COLUMN


Digamos que você tenha a seguinte tabela pedidos
mysql> create table orders(order_date date, 
       sale int, 
       product_id int, 
       category varchar(255));



Digamos que você queira DROP COLUMN 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    |       |
+------------+--------------+------+-----+---------+-------+

Bônus de leitura:Como obter registros de hoje no MySQL


MySQL DROP várias colunas


Digamos que você queira eliminar várias colunas de venda e categoria. Aqui está a instrução MySQL DROP COLUMN para remover várias colunas da tabela no 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    |       |
+------------+------+------+-----+---------+-------+

Bônus de leitura:Como obter registros dos últimos 7 dias no MySQL


COLUNA DROP MySQL com chave estrangeira


Se você tentar DROP COLUMN diretamente com chave estrangeira, o MySQL lançará um erro. Digamos que você tenha as seguintes tabelas
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);

Bônus de leitura:Como obter registros entre 2 datas no MySQL



No exemplo acima, a chave estrangeira category_id em orders3 faz referência à coluna de ID da chave primária da tabela de categorias. Se você tentar excluí-lo, receberá um erro.
mysql> alter table orders3 drop column category_id;
ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint

Então, primeiro você precisa excluir a restrição de chave estrangeira e só então usar 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 |
+-------+---------+------+-----+---------+----------------+



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!