logo

MySQL Zmień nazwę kolumny

Czasami nazwa naszej kolumny jest nieistotna, dlatego wymagana jest zmiana nazwy lub zmiana nazwy kolumny. MySQL udostępnia przydatną składnię, która umożliwia zmianę nazwy jednej lub większej liczby kolumn w tabeli. Przed zmianą nazwy kolumny niezbędnych jest kilka uprawnień, na przykład uprawnienia do instrukcji ALTER i DROP.

MySQL może zmienić nazwę kolumny na dwa sposoby:

  1. Korzystanie z instrukcji CHANGE
  2. Korzystanie z instrukcji RENAME

Korzystanie z instrukcji CHANGE:

Poniżej przedstawiono składnię ilustrującą zmianę nazwy kolumny za pomocą instrukcji CHANGE:

 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type; 

W tej składni widzimy, że możemy wymagać ponownego określenia wszystkich atrybutów kolumny. Ta składnia może również pozwolić nam na zmianę typów danych kolumny. Czasami jednak instrukcja CHANGE może mieć następujące wady:

nazwa znaku specjalnego
  • Wszystkie informacje o atrybutach kolumn mogą nie być dostępne dla aplikacji przy zmianie nazwy.
  • Istnieje ryzyko przypadkowej zmiany typu danych, która może skutkować utratą danych aplikacji.

Przykład

Pozwól nam zrozumieć, jak działa instrukcja CHANGE MySQL-a aby zmienić nazwę kolumny na podstawie różnych przykładów. Załóżmy, że mamy tabelę o nazwie balansować który zawiera następujące dane:

MySQL Zmień nazwę kolumny

Z jakiegoś powodu musimy zmienić nazwa kolumny numer_konta wraz z typem danych . W takim przypadku najpierw sprawdzamy strukturę tabeli za pomocą metody OPISAĆ oświadczenie w następujący sposób:

MySQL Zmień nazwę kolumny

Na tym obrazku widzimy, że typ danych nazwa kolumny numer_konta Jest wew . I chcemy zmienić nazwę tej kolumny na nr konta i jego typ danych jako int do varchar . W tym celu możemy wykonać poniższą instrukcję:

 mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25); 

Po wykonaniu powyższego polecenia możemy je zweryfikować ponownie korzystając z instrukcji DESCRIBE. Na poniższym obrazku nazwa kolumny numer_konta i jej typ danych zostały pomyślnie zmienione.

MySQL Zmień nazwę kolumny

Używając instrukcji RENAME:

Aby usunąć wadę instrukcji CHANGE, MySQL zaproponował następującą składnię ilustrującą zmianę nazwy kolumny za pomocą instrukcji RENAME:

 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name; 

Przykład

Pozwól nam zrozumieć, jak instrukcja RENAME działa w MySQL, aby zmienić nazwę kolumny na różnych przykładach. Załóżmy, że mamy tabelę o nazwie klient który zawiera następujące dane:

MySQL Zmień nazwę kolumny

Załóżmy, że chcemy zmienić nazwę kolumny na koncie nr konta bez zmiany jego typów danych. Możemy to zrobić wykonując poniższą instrukcję:

 mysql> ALTER TABLE customer RENAME COLUMN account to account_no; 

Po wykonaniu powyższego polecenia możemy to zweryfikować za pomocą metody WYBIERAĆ ponownie oświadczenie. Na poniższym obrazku konto z nazwą kolumny zostało pomyślnie zmienione.

MySQL Zmień nazwę kolumny

Zmiana nazwy wielu kolumn

MySQL pozwala nam także zmieniać nazwy wielu kolumn w ramach jednej instrukcji. Jeśli chcemy zmienić nazwy wielu kolumn, możemy zastosować poniższą składnię:

 ALTER TABLE table_name CHANGE old_column_name1 new_column_name1 Data Type, CHANGE old_column_name2 new_column_name2 Data Type, ... ... CHANGE old_column_nameN new_column_nameN Data Type; 

LUB

 ALTER TABLE table_name RENAME COLUMN old_column_name1 TO new_column_name1, RENAME COLUMN old_column_name2 TO new_column_name2, ... ... RENAME COLUMN old_column_nameN TO new_column_nameN; 

Przykład

Załóżmy, że chcemy coś zmienić nazwy kolumn id i nazwa_klienta z stół klienta . Aby zmienić nazwy wielu kolumn w jednej instrukcji, możemy użyć tej instrukcji w następujący sposób:

 mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45); 

Po wykonaniu powyższego polecenia możemy to zweryfikować ponownie za pomocą instrukcji SELECT. Na poniższym obrazku identyfikator nazwy kolumny i nazwa_klienta zostały pomyślnie zmienione:

MySQL Zmień nazwę kolumny

Zmieńmy ponownie aktualnie modyfikowaną nazwę kolumny za pomocą instrukcji RENAME COLUMN w następujący sposób:

 mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name; 

Po wykonaniu powyższego polecenia możemy je zweryfikować ponownie korzystając z instrukcji DESCRIBE. Na poniższym obrazku nazwa kolumny id_custa i nazwa_custa zostały pomyślnie zmienione:

MySQL Zmień nazwę kolumny

W tym artykule poznaliśmy wprowadzenie do kolumny MySQL RENAME i jak zmienić nazwę kolumny w określonej tabeli, wraz z przykładem zapytania dla lepszego zrozumienia.