A veces, el nombre de nuestra columna no tiene significado, por lo que es necesario cambiar el nombre o cambiar el nombre de la columna. MySQL proporciona una sintaxis útil que puede cambiar el nombre de una o más columnas de la tabla. Son esenciales algunos privilegios antes de cambiar el nombre de la columna, como los privilegios de instrucción ALTER y DROP.
MySQL puede cambiar el nombre de la columna de dos maneras:
- Usando la declaración CAMBIO
- Usando la declaración RENAME
Usando la declaración CAMBIO:
La siguiente es la sintaxis que ilustra el cambio de nombre de la columna utilizando la instrucción CHANGE:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type;
En esta sintaxis, podemos ver que es posible que necesitemos volver a especificar todos los atributos de la columna. Esta sintaxis también nos puede permitir cambiar los tipos de datos de la columna. Pero, a veces, la declaración CAMBIO puede tener las siguientes desventajas:
- Es posible que toda la información de los atributos de la columna no esté disponible para la aplicación para cambiar el nombre.
- Existe el riesgo de que se produzca un cambio accidental en el tipo de datos que podría provocar la pérdida de datos de la aplicación.
Ejemplo
Entendamos cómo funciona la declaración CAMBIO en mysql para cambiar el nombre de una columna a través de los distintos ejemplos. Supongamos que tenemos una tabla llamada balance que contiene los datos de la siguiente manera:
Por alguna razón, necesitamos cambiar el nombre de la columna num_cuenta junto con su tipo de datos . En ese caso, primero verificamos la estructura de la tabla usando el DESCRIBIR declaración de la siguiente manera:
En esta imagen, podemos ver que el tipo de datos del nombre de la columna núm_cuenta es En t . Y queremos cambiar el nombre de esta columna como número_cuenta y su tipo de datos como int a varchar . Por lo tanto, podemos ejecutar la siguiente declaración para hacer esto:
mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25);
Después de ejecutar el comando anterior, podemos verificarlo usando la declaración DESCRIBE nuevamente. En la imagen siguiente, el nombre de la columna num_cuenta y su tipo de datos han cambiado correctamente.
Usando la declaración RENAME:
Para eliminar el inconveniente de una declaración CHANGE, MySQL propuso la siguiente sintaxis que ilustra el cambio del nombre de la columna usando una declaración RENAME:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
Ejemplo
Entendamos cómo funciona la declaración RENAME en MySQL para cambiar el nombre de la columna a través de varios ejemplos. Supongamos que tenemos una tabla llamada cliente que contiene los siguientes datos:
Supongamos que queremos cambiar el nombre de la columna cuenta con número_cuenta sin cambiar sus tipos de datos. Podemos hacer esto ejecutando la siguiente declaración:
mysql> ALTER TABLE customer RENAME COLUMN account to account_no;
Después de ejecutar el comando anterior, podemos verificarlo usando el SELECCIONAR declaración nuevamente. En la imagen de abajo, la cuenta del nombre de la columna ha cambiado correctamente.
Cambiar el nombre de varias columnas
MySQL también nos permite cambiar los nombres de varias columnas dentro de una sola declaración. Si queremos cambiar el nombre de varios nombres de columnas, podemos usar la siguiente sintaxis:
ALTER TABLE table_name CHANGE old_column_name1 new_column_name1 Data Type, CHANGE old_column_name2 new_column_name2 Data Type, ... ... CHANGE old_column_nameN new_column_nameN Data Type;
O
ALTER TABLE table_name RENAME COLUMN old_column_name1 TO new_column_name1, RENAME COLUMN old_column_name2 TO new_column_name2, ... ... RENAME COLUMN old_column_nameN TO new_column_nameN;
Ejemplo
Supongamos que queremos cambiar nombres de columna id y nombre_cliente desde el mesa de clientes . Para cambiar varios nombres de columnas dentro de una sola declaración, podemos usar la declaración de la siguiente manera:
mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45);
Después de ejecutar el comando anterior, podemos verificarlo usando la instrucción SELECT nuevamente. En la imagen siguiente, el nombre de la columna id y el nombre_cliente se han cambiado correctamente:
Cambiemos nuevamente el nombre de la columna que se está modificando actualmente a través de la instrucción RENAME COLUMN de la siguiente manera:
mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name;
Después de ejecutar el comando anterior, podemos verificarlo usando la declaración DESCRIBE nuevamente. En la imagen de abajo, el nombre de columna cust_id y cust_name han cambiado con éxito:
En este artículo, aprendimos una introducción a la columna RENAME de MySQL y cómo cambiar el nombre de la columna en una tabla específica, junto con un ejemplo de consulta para una mejor comprensión.