Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kolumna zmiany nazwy MySQL

Czasami może być konieczna zmiana nazwy kolumny w MySQL lub zmiana nazwy kolumny bez zmiany jej typu. Oto jak zmienić nazwę kolumny w zapytaniu MySQL.

Jak zmienić nazwę kolumny w MySQL

Oto kroki, aby zmienić nazwę kolumny w zapytaniu MySQL za pomocą instrukcji MySQL ALTER TABLE.

Zmień nazwę kolumny w MySQL 5.6.xi 5.7.x

Oto zapytanie SQL do zmiany nazwy kolumny w MySQL.

ALTER TABLE table_name CHANGE old_column_name new_column_name <column definition>;

W powyższym zapytaniu musisz wspomnieć o nazwa_tabeli po ALTER TABLE, stara_nazwa_kolumny i nowa_nazwa_kolumny po słowie kluczowym CHANGE. Musisz również wspomnieć o całej definicji kolumny swojej kolumny, nawet jeśli nie ma w niej żadnych zmian. W przeciwnym razie MySQL zmieni niezadeklarowane atrybuty na wartość domyślną.

Na przykład, jeśli masz ograniczenie NOT NULL dla swojej kolumny MySQL, ale nie wspomnisz o tym podczas zmiany nazwy kolumny, wtedy MySQL usunie to ograniczenie i zezwoli na wartości null dla tej kolumny, po zmianie jej nazwy.

Przeczytaj bonus:Procedura przechowywana MySQL z parametrami

Oto przykład zmiany nazwy kolumny. Załóżmy, że masz następującą tabelę zamówienia

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

Przeczytaj bonus:Jak zduplikować tabelę w MySQL

Zmień nazwę kolumny w MySQL 8.0

Od MySQL 8.0 istnieje jeszcze prostszy sposób na zmianę nazwy kolumny bez zmiany typu (bez określania całej definicji kolumny) za pomocą klauzuli RENAME COLUMN.

ALTER TABLE products RENAME COLUMN product_name TO product_full_name;

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. „0000-00-00 00:00:00” nie może być reprezentowane jako błąd java.sql.Timestamp

  2. Prawidłowy sposób użycia LIKE '%{$var}%' z przygotowanymi wyciągami? [mysqli]

  3. MySQL - Wybieranie danych z wielu tabel o tej samej strukturze, ale o różnych danych

  4. mySQL — Utwórz nową tabelę przy użyciu danych i kolumn z trzech tabel

  5. Jak zaimportować plik CSV do tabeli MySQL