Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Преименуване на колона

Понякога може да се наложи да промените името на колоната в MySQL или да преименувате името на колоната, без да променяте нейния тип. Ето как да преименувате колона в MySQL заявка.

Как да промените името на колона в MySQL

Ето стъпките за промяна на името на колоната в MySQL заявка с помощта на MySQL ALTER TABLE израз.

Преименуване на колона в MySQL 5.6.x и 5.7.x

Ето SQL заявката за преименуване на колона в MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

В горната заявка трябва да споменете име_на_таблица след ALTER TABLE, old_column_name и име на нова_колона след CHANGE ключова дума. Също така трябва да споменете цялата дефиниция на колоната на вашата колона, дори ако няма промяна в нея. В противен случай MySQL ще промени недекларираните атрибути на стойност по подразбиране.

Например, ако имате ограничение NOT NULL във вашата MySQL колона, но не го споменавате, докато преименувате колоната, тогава MySQL ще премахне това ограничение и ще разреши нулеви стойности за тази колона, след като я преименува.

Бонус четене:MySQL Съхранена процедура с параметри

Ето пример за преименуване на колона. Да приемем, че имате следната таблица поръчки

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

Бонус четене:Как да дублирам таблица в MySQL

Преименуване на колона в MySQL 8.0

От MySQL 8.0 има друг по-лесен начин за преименуване на колона без промяна на типа (без да се посочва цялата дефиниция на колона), като се използва клауза RENAME COLUMN.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поточно предаване на големи набори от резултати с MySQL

  2. Разлика в MySQL JOIN срещу LEFT JOIN

  3. mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows и т.н.... очаква параметър 1 да бъде ресурс

  4. MySQL сървърът изчезна - точно за 60 секунди

  5. LEFT JOIN само първия ред