Mysql
 sql >> Base de données >  >> RDS >> Mysql

Colonne de renommage MySQL

Parfois, vous devrez peut-être changer le nom de la colonne dans MySQL ou renommer le nom de la colonne sans changer son type. Voici comment renommer une colonne dans une requête MySQL.

Comment changer le nom de la colonne dans MySQL

Voici les étapes pour changer le nom de la colonne dans la requête MySQL à l'aide de l'instruction MySQL ALTER TABLE.

Renommer la colonne dans MySQL 5.6.x et 5.7.x

Voici la requête SQL pour renommer la colonne dans MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

Dans la requête ci-dessus, vous devez mentionner table_name après ALTER TABLE, old_column_name et new_column_name après le mot-clé CHANGE. Vous devez également mentionner la définition complète de la colonne de votre colonne, même s'il n'y a aucun changement. Sinon, MySQL remplacera les attributs non déclarés par la valeur par défaut.

Par exemple, si vous avez une contrainte NOT NULL sur votre colonne MySQL mais que vous ne la mentionnez pas en renommant la colonne, MySQL supprimera cette contrainte et autorisera les valeurs nulles pour cette colonne, après l'avoir renommée.

Lecture bonus :procédure stockée MySQL avec paramètres

Voici un exemple de colonne de renommage. Supposons que vous ayez les commandes de table suivantes

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 |                |
+--------------+--------------+------+-----+-------------------+----------------+

Lecture bonus :comment dupliquer une table dans MySQL

Renommer la colonne dans MySQL 8.0

Depuis MySQL 8.0, il existe un autre moyen plus simple de renommer une colonne sans changer de type (sans spécifier la définition complète de la colonne) à l'aide de la clause RENAME COLUMN.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !