Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Umbenennungsspalte

Manchmal müssen Sie möglicherweise den Spaltennamen in MySQL ändern oder den Spaltennamen umbenennen, ohne seinen Typ zu ändern. So benennen Sie eine Spalte in einer MySQL-Abfrage um.

So ändern Sie den Spaltennamen in MySQL

Hier sind die Schritte zum Ändern des Spaltennamens in einer MySQL-Abfrage mit der MySQL-Anweisung ALTER TABLE.

Spalte in MySQL 5.6.x und 5.7.x umbenennen

Hier ist die SQL-Abfrage zum Umbenennen der Spalte in MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

In der obigen Abfrage müssen Sie table_name angeben nach ALTER TABLE, alter_Spaltenname und neuer_Spaltenname nach dem Schlüsselwort CHANGE. Sie müssen auch die gesamte Spaltendefinition Ihrer Spalte erwähnen, auch wenn sich daran nichts geändert hat. Andernfalls ändert MySQL nicht deklarierte Attribute auf den Standardwert.

Wenn Sie zum Beispiel eine NOT NULL-Einschränkung für Ihre MySQL-Spalte haben, diese aber beim Umbenennen der Spalte nicht erwähnen, dann wird MySQL diese Einschränkung löschen und Nullwerte für diese Spalte zulassen, nachdem sie umbenannt wurde.

Bonus-Lesevorgang:Gespeicherte MySQL-Prozedur mit Parametern

Hier ist ein Beispiel zum Umbenennen einer Spalte. Nehmen wir an, Sie haben die folgende Tabelle orders

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

Bonuslektüre:Wie man Tabellen in MySQL dupliziert

Spalte in MySQL 8.0 umbenennen

Seit MySQL 8.0 gibt es eine weitere einfachere Möglichkeit, Spalten umzubenennen, ohne den Typ zu ändern (ohne die gesamte Spaltendefinition anzugeben), indem die RENAME COLUMN-Klausel verwendet wird.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!