sql >> Databasteknik >  >> RDS >> Mysql

MySQL Byt namn på kolumn

Ibland kan du behöva ändra kolumnnamn i MySQL eller byta namn på kolumnnamn utan att ändra dess typ. Så här byter du namn på kolumn i MySQL-fråga.

Hur man ändrar kolumnnamn i MySQL

Här är stegen för att ändra kolumnnamnet i MySQL-frågan med MySQL ALTER TABLE-satsen.

Byt namn på kolumn i MySQL 5.6.x och 5.7.x

Här är SQL-frågan för att byta namn på kolumn i MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

I ovanstående fråga måste du nämna tabellnamn efter ALTER TABLE, old_column_name och new_column_name efter ÄNDRA nyckelord. Du måste också nämna hela kolumndefinitionen för din kolumn, även om det inte finns någon förändring i den. Annars kommer MySQL att ändra odeklarerade attribut till standardvärde.

Till exempel, om du har en NOT NULL-begränsning på din MySQL-kolumn men inte nämner den när du byter namn på kolumnen, kommer MySQL att ta bort den begränsningen och tillåta nollvärden för den kolumnen efter att ha bytt namn på den.

Bonusläsning:MySQL lagrad procedur med parametrar

Här är ett exempel på ett byt namn på kolumn. Låt oss säga att du har följande tabellorder

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 Läs:Hur man duplicerar tabell i MySQL

Byt namn på kolumn i MySQL 8.0

Sedan MySQL 8.0 finns det ett annat enklare sätt att byta namn på kolumn utan att ändra typ (utan att ange hela kolumndefinitionen) med hjälp av RENAME COLUMN-satsen.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Sammanfoga XMLType-noder i Oracle-fråga

  2. MigrationSchemaMissing(Kan inte skapa tabellen django_migrations (%s) % exc)

  3. Förbered en ny virtuell dator för SQL Server 2014 CTP1

  4. Säkerhetskopiera en enda tabell med dess data från en databas i sql server 2008