sql >> Database teknologi >  >> RDS >> Mysql

MySQL Omdøb kolonne

Nogle gange skal du muligvis ændre kolonnenavn i MySQL eller omdøbe kolonnenavn uden at ændre dens type. Sådan omdøber du kolonne i MySQL-forespørgsel.

Sådan ændres kolonnenavn i MySQL

Her er trinene til at ændre kolonnenavn i MySQL-forespørgsel ved hjælp af MySQL ALTER TABLE-sætning.

Omdøb kolonne i MySQL 5.6.x og 5.7.x

Her er SQL-forespørgslen til at omdøbe kolonne i MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

I ovenstående forespørgsel skal du nævne tabelnavn efter ALTER TABLE, old_column_name og nyt_kolonne_navn efter SKIFT søgeord. Du skal også nævne hele kolonnedefinitionen af ​​din kolonne, selvom der ikke er nogen ændring i den. Ellers vil MySQL ændre ikke-erklærede attributter til standardværdi.

For eksempel, hvis du har en NOT NULL-begrænsning på din MySQL-kolonne, men ikke nævner den, mens du omdøber kolonnen, så vil MySQL droppe denne begrænsning og tillade null-værdier for den kolonne, efter at have omdøbt den.

Bonus Læs:MySQL lagret procedure med parametre

Her er et eksempel på et omdøb kolonne. Lad os sige, at du har følgende tabel ordrer

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

Bonuslæser:Sådan dublerer du tabel i MySQL

Omdøb kolonne i MySQL 8.0

Siden MySQL 8.0 er der en anden nemmere måde at omdøbe kolonne uden at ændre type (uden at angive hele kolonnedefinitionen) ved hjælp af RENAME COLUMN-sætning.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. 10 tidsbesparende tips til MS Access-brugere

  2. Hvorfor er der behov for UDFØR STRAKS her?

  3. Django ConnectionAbortedError:[WinError 10053] En etableret forbindelse blev afbrudt af softwaren på din værtsmaskine

  4. Brug af store bogstaver i personnavne i programmering