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:
- Korzystanie z instrukcji CHANGE
- 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:
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:
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.
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:
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.
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:
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:
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.