Soms moet u de kolomnaam in MySQL wijzigen of de naam van de kolom wijzigen zonder het type te wijzigen. Zo hernoem je de kolom in de MySQL-query.
Kolomnaam wijzigen in MySQL
Hier zijn de stappen om de kolomnaam in de MySQL-query te wijzigen met behulp van de MySQL ALTER TABLE-instructie.
Kolom hernoemen in MySQL 5.6.x en 5.7.x
Hier is de SQL-query om de kolom in MySQL te hernoemen.
ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;
In de bovenstaande zoekopdracht moet u table_name . vermelden na ALTER TABLE, old_column_name en nieuwe_kolomnaam na WIJZIG trefwoord. Je moet ook de volledige kolomdefinitie van je kolom vermelden, ook als er geen verandering in is. Anders zal MySQL niet-aangegeven attributen veranderen in de standaardwaarde.
Als u bijvoorbeeld een NOT NULL-beperking voor uw MySQL-kolom hebt, maar deze niet vermeldt tijdens het hernoemen van de kolom, dan zal MySQL die beperking laten vallen en null-waarden voor die kolom toestaan, nadat u deze heeft hernoemd.
Bonus lezen:MySQL opgeslagen procedure met parameters
Hier is een voorbeeld van een kolom hernoemen. Stel dat u de volgende tabel orders . heeft
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 | | +--------------+--------------+------+-----+-------------------+----------------+
Bonus Lezen:Tabel dupliceren in MySQL
Kolom hernoemen in MySQL 8.0
Sinds MySQL 8.0 is er nog een eenvoudigere manier om de kolomnaam te wijzigen zonder het type te wijzigen (zonder de volledige kolomdefinitie op te geven) met behulp van de RENAME COLUMN-clausule.
ALTER TABLE products RENAME COLUMN product_name TO product_full_name;
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!