logo

Zmień nazwę tabeli MySQL

Czasami nazwa naszej tabeli jest bez znaczenia, dlatego konieczna jest zmiana nazwy lub zmiana nazwy tabeli. MySQL zapewnia użyteczną składnię, która pozwala zmienić nazwę jednej lub większej liczby tabel w bieżącej bazie danych.

Składnia

Poniżej przedstawiono składnię używaną do zmiany nazwy tabeli:

 mysql> RENAME old_table TO new_table; 

Tutaj musimy się o to upewnić nowa_nazwa_tabeli nie może istnieć, i nazwa_starej_tabeli powinien znajdować się w bazie. W przeciwnym razie wyświetli komunikat o błędzie. Ma to na celu upewnienie się, że tabela nie jest zablokowana, a także nie ma aktywnych transakcji przed wykonaniem tego polecenia.

UWAGA: Jeśli używamy instrukcji RENAME TABLE, wymagane jest posiadanie uprawnień ALTER i DROP TABLE do istniejącej tabeli. Ponadto ta instrukcja nie może zmienić nazwy tabeli tymczasowej.

Możemy także skorzystać z MySQL ZMIEŃ NAZWĘ TABELI instrukcja służąca do zmiany więcej niż jednej nazwy tabeli za pomocą jednej instrukcji, jak pokazano poniżej:

 RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3; 

Z MySQL 8.0.13 wersji, możemy zmienić starą nazwę tabeli zabezpieczoną instrukcją LOCK, a także użyć klauzuli WRITE LOCK. Na przykład następujące prawidłowe stwierdzenie:

 mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2; 

Następujące stwierdzenia są niedozwolone:

 mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2; 

Przed wersją MySQL 8.0.13 nie możemy zmienić nazwy tabeli zablokowanej instrukcją LOCK TABLE.

MySQL używa również instrukcji RENAME TABLE do przenoszenia tabeli z jednej bazy danych do drugiej, co pokazano poniżej:

 mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name; 

Przykład zmiany nazwy tabeli MySQL

Pozwól nam zrozumieć, jak instrukcja RENAME TABLE działa w MySQL na różnych przykładach. Załóżmy, że mamy tabelę o nazwie PRACOWNIK , i z jakiegoś powodu istnieje potrzeba zmiany go na tabelę o nazwie KLIENT .

Nazwa tabeli: pracownik

Zmień nazwę tabeli MySQL

Następnie wykonaj następującą składnię, aby zmienić nazwę tabeli:

 mysql> RENAME employee TO customer; 

Wyjście

ciąg w c

Zobaczymy, że tabela o nazwie „pracownik” zostanie zmieniona na nową tabelę o nazwie „klient”:

Zmień nazwę tabeli MySQL

Na powyższym wyjściu widzimy, że jeśli użyjemy nazwy tabeli pracownik po wykonaniu instrukcji RENAME TABLE, wyświetli się komunikat o błędzie.

Jak ZMIENIĆ NAZWĘ wielu tabel

Instrukcja RENAME TABLE w MySQL pozwala nam także na zmianę więcej niż jednej nazwy tabeli w ramach jednej instrukcji. Zobacz poniższe oświadczenie:

Załóżmy, że nasza baza danych ' mójpracownikb ' posiadający następujące tabele:

Zmień nazwę tabeli MySQL

Jeśli chcemy zamienić nazwę stołu klienta na pracownika, a koszulkę z imieniem na odzież, wykonaj poniższą instrukcję:

 mysql> RENAME TABLE customer TO employee, shirts TO garments; 

Wyjście

Widzimy, że nazwa stołu klienta na nazwę pracownika i nazwa stołu na odzież została pomyślnie zmieniona.

Zmień nazwę tabeli MySQL

Zmień nazwę tabeli za pomocą instrukcji ALTER

Za pomocą instrukcji ALTER TABLE można także zmienić nazwę istniejącej tabeli w bieżącej bazie danych. Poniżej przedstawiono składnię instrukcji ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Zobacz następujące zapytanie, które zmienia istniejącą odzież na stół na nowe koszule z imieniem na stół:

rok wynalezienia komputera
 mysql> ALTER TABLE garments RENAME TO shirts: 

Wyjście

Tutaj widzimy, że nazwa stołu została zmieniona na koszule z imieniem stołu.

Zmień nazwę tabeli MySQL

Jak zmienić nazwę tabeli tymczasowej

Tabela tymczasowa pozwala nam przechowywać dane tymczasowe, które są widoczne i dostępne tylko w bieżącej sesji. Zatem najpierw musimy utworzyć tabelę tymczasową, korzystając z następującej instrukcji:

 mysql> CREATE TEMPORARY TABLE Students( name VARCHAR(40) NOT NULL, total_marks DECIMAL(12,2) NOT NULL DEFAULT 0.00, total_subjects INT UNSIGNED NOT NULL DEFAULT 0); 

Następnie wstaw wartości do tej tabeli:

 mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2); 

Następnie uruchom polecenie show table, aby sprawdzić tabelę tymczasową:

 mysql> SELECT * FROM Students; 

Teraz uruchom następujące polecenie, aby zmienić nazwę tabeli tymczasowej:

 mysql> RENAME TABLE Students TO student_info; 

Wyświetli się komunikat o błędzie, jak pokazano poniżej:

Zmień nazwę tabeli MySQL

Zatem MySQL pozwala instrukcji ALTER table na zmianę nazwy tabeli tymczasowej:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Wyjście

Zmień nazwę tabeli MySQL