sql >> Base de Datos >  >> RDS >> Mysql

Columna de cambio de nombre de MySQL

A veces, es posible que deba cambiar el nombre de la columna en MySQL o cambiar el nombre de la columna sin cambiar su tipo. Aquí se explica cómo cambiar el nombre de la columna en la consulta de MySQL.

Cómo cambiar el nombre de columna en MySQL

Estos son los pasos para cambiar el nombre de la columna en la consulta de MySQL usando la instrucción MySQL ALTER TABLE.

Renombrar columna en MySQL 5.6.x y 5.7.x

Aquí está la consulta SQL para cambiar el nombre de la columna en MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

En la consulta anterior, debe mencionar table_name después de ALTER TABLE, old_column_name y nuevo_nombre_columna después de la palabra clave CHANGE. También debe mencionar la definición de columna completa de su columna, incluso si no hay cambios en ella. De lo contrario, MySQL cambiará los atributos no declarados al valor predeterminado.

Por ejemplo, si tiene una restricción NOT NULL en su columna de MySQL pero no la menciona al cambiar el nombre de la columna, MySQL eliminará esa restricción y permitirá valores nulos para esa columna, después de cambiarle el nombre.

Lectura adicional:Procedimiento almacenado de MySQL con parámetros

Aquí hay un ejemplo de columna de cambio de nombre. Supongamos que tiene la siguiente tabla 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 |                |
+--------------+--------------+------+-----+-------------------+----------------+

Lectura adicional:Cómo duplicar una tabla en MySQL

Renombrar columna en MySQL 8.0

Desde MySQL 8.0, hay otra manera más fácil de cambiar el nombre de la columna sin cambiar el tipo (sin especificar la definición de columna completa) usando la cláusula RENAME COLUMN.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!