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!