De vegades, el nostre nom de columna no té sentit, de manera que cal canviar el nom o canviar el nom de la columna. MySQL proporciona una sintaxi útil que pot canviar el nom d'una o més columnes de la taula. Pocs privilegis són essencials abans de canviar el nom de la columna, com ara els privilegis de declaració ALTER i DROP.
MySQL pot canviar el nom del nom de la columna de dues maneres:
- Utilitzant la instrucció CHANGE
- Utilitzant la instrucció RENAME
Utilitzant la declaració CHANGE:
A continuació es mostra la sintaxi que il·lustra el canvi de nom de la columna mitjançant la instrucció CHANGE:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type;
En aquesta sintaxi, podem veure que podem requerir una reespecificació de tots els atributs de la columna. Aquesta sintaxi també ens pot permetre canviar els tipus de dades de la columna. Però, de vegades, la declaració CHANGE pot tenir els següents desavantatges:
- És possible que tota la informació dels atributs de la columna no estigui disponible per a l'aplicació per canviar el nom.
- Hi ha un risc de canvi accidental del tipus de dades que podria provocar la pèrdua de dades de l'aplicació.
Exemple
Entenem com funciona la sentència CHANGE MySQL per canviar el nom d'una columna a través dels diferents exemples. Suposem que tenim una taula anomenada equilibri que conté les dades de la següent manera:
Per alguna raó, hem de canviar nom de columna num_compte juntament amb el seu tipus de dades . En aquest cas, primer comprovem l'estructura de la taula utilitzant el DESCRIURE declaració de la següent manera:
En aquesta imatge, podem veure que el tipus de dades del nom de la columna compte_núm és int . I volem canviar el nom d'aquesta columna com a núm de compte i el seu tipus de dades com int a varchar . Per tant, podem executar la instrucció següent per fer-ho:
mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25);
Després d'executar l'ordre anterior, podem verificar-ho fent servir de nou la instrucció DESCRIBE. A la imatge següent, el nom de la columna account_num i el seu tipus de dades han canviat correctament.
Utilitzant la instrucció RENAME:
Per eliminar l'inconvenient d'una instrucció CHANGE, MySQL va proposar la sintaxi següent que il·lustra el canvi del nom de la columna mitjançant una instrucció RENAME:
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
Exemple
Entenem com funciona la instrucció RENAME a MySQL per canviar el nom de la columna a través dels diferents exemples. Suposem que tenim una taula anomenada client que conté les dades següents:
Suposem que volem canviar el nom de la columna amb el compte núm de compte sense canviar els seus tipus de dades. Ho podem fer executant la instrucció següent:
mysql> ALTER TABLE customer RENAME COLUMN account to account_no;
Després d'executar l'ordre anterior, podem verificar-ho mitjançant l' SELECCIONA declaració de nou. A la imatge següent, el compte de nom de columna ha canviat correctament.
Canviar el nom de diverses columnes
MySQL també ens permet canviar els noms de múltiples columnes dins d'una sola instrucció. Si volem canviar el nom de diversos noms de columnes, podríem utilitzar la sintaxi següent:
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;
Exemple
Suposem que volem canviar noms de columna id i customer_name des del taula de clients . Per canviar diversos noms de columnes dins d'una sola instrucció, podem utilitzar la instrucció de la següent manera:
mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45);
Després d'executar l'ordre anterior, podem verificar-ho fent servir de nou la instrucció SELECT. A la imatge següent, l'identificador del nom de la columna i el nom_client han canviat correctament:
Tornem a canviar el nom de la columna que es modifica actualment mitjançant la instrucció RENAME COLUMN de la següent manera:
mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name;
Després d'executar l'ordre anterior, podem verificar-ho fent servir de nou la instrucció DESCRIBE. A la imatge de sota, el nom de columna cust_id i cust_name han canviat correctament:
En aquest article, hem après una introducció de la columna MySQL RENAME i com canviar el nom de la columna en una taula especificada, juntament amb un exemple de consulta per a una millor comprensió.