sql >> Database >  >> RDS >> Mysql

MySQL Kolom hernoemen

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!

  1. Een database documenteren

  2. Hoe het weeknummer van een datum te extraheren in PostgreSQL

  3. Hoe te repareren "De bijbehorende partitiefunctie genereert meer partities dan er bestandsgroepen worden genoemd in het schema" Msg 7707 in SQL Server

  4. Algemene zoekopdracht opslaan als kolom?