À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!