logo

Tabulka přejmenování MySQL

Někdy je název naší tabulky nesmyslný, takže je nutné přejmenovat nebo změnit název tabulky. MySQL poskytuje užitečnou syntaxi, která může přejmenovat jednu nebo více tabulek v aktuální databázi.

Syntax

Následující syntaxe se používá ke změně názvu tabulky:

 mysql> RENAME old_table TO new_table; 

Tady se o to musíme ujistit název_nové_tabulky nesmí existovat a old_table_name by měl být přítomen v databázi. V opačném případě vypíše chybovou hlášku. Před provedením tohoto příkazu se má zajistit, že tabulka není uzamčena a že neexistují žádné aktivní transakce.

POZNÁMKA: Pokud použijeme příkaz RENAME TABLE, je nutné mít oprávnění ALTER a DROP TABLE ke stávající tabulce. Tento příkaz také nemůže změnit název dočasné tabulky.

Můžeme také použít MySQL PŘEJMENOVAT TABULKU příkaz změnit více než jeden název tabulky jedním příkazem, jak je uvedeno níže:

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

z MySQL 8.0.13 verze, můžeme změnit starý název tabulky uzamčený příkazem LOCK a také používá klauzuli WRITE LOCK. Platné prohlášení jsou například následující:

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

Následující prohlášení nejsou povolena:

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

Před verzí MySQL 8.0.13 nemůžeme změnit název tabulky, která byla uzamčena příkazem LOCK TABLE.

MySQL také používá příkaz RENAME TABLE pro přesun tabulky z jedné databáze do jiné databáze, což je uvedeno níže:

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

Příklad MySQL RENAME TABLE

Pojďme si na různých příkladech porozumět, jak funguje příkaz RENAME TABLE v MySQL. Předpokládejme, že máme tabulku pojmenovanou ZAMĚSTNANEC a z nějakého důvodu je potřeba jej změnit na tabulku s názvem ZÁKAZNÍK .

Jméno tabulky: zaměstnanec

Tabulka přejmenování MySQL

Dále proveďte následující syntaxi pro změnu názvu tabulky:

 mysql> RENAME employee TO customer; 

Výstup

inicializátor slovníku c#

Uvidíme, že tabulka s názvem 'zaměstnanec' bude změněna na novou tabulku s názvem 'zákazník':

Tabulka přejmenování MySQL

Ve výše uvedeném výstupu můžeme vidět, že pokud použijeme název tabulky zaměstnanec po provedení příkazu RENAME TABLE, vyvolá to chybovou zprávu.

Jak přejmenovat více tabulek

Příkaz RENAME TABLE v MySQL nám také umožňuje změnit více než jeden název tabulky v rámci jednoho příkazu. Viz níže uvedené prohlášení:

Předpokládejme, že naše databáze ' myemployeedb “ s následujícími tabulkami:

Tabulka přejmenování MySQL

Pokud chceme změnit jméno stolu zákazníka na zaměstnance a košile se jménem stolu na oděvy, proveďte následující příkaz:

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

Výstup

Vidíme, že název tabulky zákazník na zaměstnance a název stolu košile na oděvy byly úspěšně přejmenovány.

Tabulka přejmenování MySQL

Přejmenujte tabulku pomocí příkazu ALTER

Příkaz ALTER TABLE lze také použít k přejmenování existující tabulky v aktuální databázi. Následuje syntaxe příkazu ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Podívejte se na následující dotaz, který mění stávající oděvy s názvem stolu na nové košile s názvem stolu:

boolean na řetězec java
 mysql> ALTER TABLE garments RENAME TO shirts: 

Výstup

Zde můžeme vidět, že oděvy se jménem tabulky byly přejmenovány na košile se jménem tabulky.

Tabulka přejmenování MySQL

Jak PŘEJMENOVAT dočasnou tabulku

Dočasná tabulka nám umožňuje uchovávat dočasná data, která jsou viditelná a přístupná pouze v aktuální relaci. Nejprve tedy musíme vytvořit dočasnou tabulku pomocí následujícího příkazu:

 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); 

Dále vložte hodnoty do této tabulky:

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

Dále spusťte příkaz show table a zkontrolujte dočasnou tabulku:

 mysql> SELECT * FROM Students; 

Nyní spusťte následující příkaz a změňte název dočasné tabulky:

 mysql> RENAME TABLE Students TO student_info; 

Vyvolá chybovou zprávu, jak je uvedeno níže:

Tabulka přejmenování MySQL

MySQL tedy umožňuje příkazu ALTER table přejmenovat dočasnou tabulku:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Výstup

Tabulka přejmenování MySQL