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

Renomear Coluna MySQL


Às vezes, você pode precisar alterar o nome da coluna no MySQL ou renomear o nome da coluna sem alterar seu tipo. Veja como renomear a coluna na consulta MySQL.


Como alterar o nome da coluna no MySQL


Aqui estão as etapas para alterar o nome da coluna na consulta MySQL usando a instrução MySQL ALTER TABLE.


Renomear coluna no MySQL 5.6.xe 5.7.x


Aqui está a consulta SQL para renomear a coluna no MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

Na consulta acima, você precisa mencionar table_name após ALTER TABLE, old_column_name e new_column_name após a palavra-chave CHANGE. Você também precisa mencionar toda a definição de coluna da sua coluna, mesmo que não haja alterações nela. Caso contrário, o MySQL alterará os atributos não declarados para o valor padrão.

Por exemplo, se você tiver uma restrição NOT NULL em sua coluna MySQL, mas não mencioná-la ao renomear a coluna, o MySQL eliminará essa restrição e permitirá valores nulos para essa coluna, após renomeá-la.

Bônus de leitura:procedimento armazenado do MySQL com parâmetros

Aqui está um exemplo de renomeação de coluna. Digamos que você tenha a seguinte tabela pedidos
mysql> describe orders;
+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| product_name | varchar(255) | NO   |     | NULL              |                |
| order_date   | date         | YES  |     | NULL              |                |
| price        | int(11)      | NO   |     | NULL              |                |
| description  | text         | YES  |     | NULL              |                |
| created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+

mysql> alter table orders change price item_price int(11);

mysql> describe orders;
+--------------+--------------+------+-----+-------------------+----------------+
| Field        | Type         | Null | Key | Default           | Extra          |
+--------------+--------------+------+-----+-------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL              | auto_increment |
| product_name | varchar(255) | NO   |     | NULL              |                |
| order_date   | date         | YES  |     | NULL              |                |
| item_price   | int(11)      | YES  |     | NULL              |                |
| description  | text         | YES  |     | NULL              |                |
| created_at   | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+--------------+--------------+------+-----+-------------------+----------------+


Bônus de leitura:Como duplicar a tabela no MySQL


Renomear coluna no MySQL 8.0


Desde o MySQL 8.0, existe outra maneira mais fácil de renomear a coluna sem alterar o tipo (sem especificar a definição da coluna inteira) usando a cláusula RENAME COLUMN.
ALTER TABLE products RENAME COLUMN product_name TO product_full_name;



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