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:
- 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:
- 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.