logo

Tabuľka premenovania MySQL

Niekedy je názov našej tabuľky nezmyselný, takže je potrebné premenovať alebo zmeniť názov tabuľky. MySQL poskytuje užitočnú syntax, ktorá dokáže premenovať jednu alebo viac tabuliek v aktuálnej databáze.

Syntax

Nasledujú syntaxe používané na zmenu názvu tabuľky:

 mysql> RENAME old_table TO new_table; 

Tu sa musíme uistiť new_table_name nesmie existovať a old_table_name by mal byť prítomný v databáze. V opačnom prípade vypíše chybové hlásenie. Pred vykonaním tohto príkazu sa má zabezpečiť, aby tabuľka nebola uzamknutá a neboli tam žiadne aktívne transakcie.

POZNÁMKA: Ak použijeme príkaz RENAME TABLE, je potrebné mať privilégiá ALTER a DROP TABLE k existujúcej tabuľke. Tento príkaz tiež nemôže zmeniť názov dočasnej tabuľky.

Môžeme použiť aj MySQL PREMENOVAŤ TABUĽKU príkaz zmeniť viac ako jeden názov tabuľky jedným príkazom, ako je uvedené nižšie:

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

Z MySQL 8.0.13 verzie, môžeme zmeniť starý názov tabuľky uzamknutý príkazom LOCK a tiež používa klauzulu WRITE LOCK. Platné vyhlásenie je napríklad nasledovné:

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

Nasledujúce vyhlásenia nie sú povolené:

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

Pred verziou MySQL 8.0.13 nemôžeme zmeniť názov tabuľky, ktorá bola uzamknutá príkazom LOCK TABLE.

MySQL tiež používa príkaz RENAME TABLE na presun tabuľky z jednej databázy do inej databázy, čo je uvedené nižšie:

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

MySQL RENAME TABLE Príklad

Poďme pochopiť, ako funguje príkaz RENAME TABLE v MySQL prostredníctvom rôznych príkladov. Predpokladajme, že máme tabuľku s názvom ZAMESTNANEC a z nejakého dôvodu je potrebné ho zmeniť na tabuľku s názvom ZÁKAZNÍK .

Názov tabuľky: zamestnanec

Tabuľka premenovania MySQL

Potom vykonajte nasledujúcu syntax na zmenu názvu tabuľky:

 mysql> RENAME employee TO customer; 

Výkon

obj v jazyku Java

Uvidíme, že tabuľka s názvom „zamestnanec“ sa zmení na novú tabuľku s názvom „zákazník“:

Tabuľka premenovania MySQL

Vo vyššie uvedenom výstupe môžeme vidieť, že ak použijeme názov tabuľky zamestnanec po vykonaní príkazu RENAME TABLE, vyvolá to chybové hlásenie.

Ako PREMENOVAŤ viacero tabuliek

Príkaz RENAME TABLE v MySQL nám tiež umožňuje zmeniť viac ako jeden názov tabuľky v rámci jedného príkazu. Pozrite si nižšie uvedené vyhlásenie:

Predpokladajme, že naša databáza ' myemployeedb “ s nasledujúcimi tabuľkami:

Tabuľka premenovania MySQL

Ak chceme zmeniť názov tabuľky zákazník na zamestnanec a košele s názvom stola na odevy, vykonajte nasledujúci príkaz:

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

Výkon

Vidíme, že názov tabuľky zákazník na zamestnanec a názov tabuľky košele na odevy sa úspešne premenovali.

Tabuľka premenovania MySQL

Premenujte tabuľku pomocou príkazu ALTER

Príkaz ALTER TABLE možno použiť aj na premenovanie existujúcej tabuľky v aktuálnej databáze. Nasledujú syntaxe príkazu ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Pozrite si nasledujúci dotaz, ktorý mení existujúce odevy s názvom tabuľky na nové košele s názvom tabuľky:

skener v jave
 mysql> ALTER TABLE garments RENAME TO shirts: 

Výkon

Tu môžeme vidieť, že odevy s názvom tabuľky boli premenované na košele s názvom tabuľky.

Tabuľka premenovania MySQL

Ako PREMENOVAŤ dočasnú tabuľku

Dočasná tabuľka nám umožňuje uchovávať dočasné údaje, ktoré sú viditeľné a dostupné len v aktuálnej relácii. Najprv teda musíme vytvoriť dočasnú tabuľku pomocou nasledujúceho prí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); 

Ďalej vložte hodnoty do tejto tabuľky:

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

Potom spustite príkaz show table a skontrolujte dočasnú tabuľku:

 mysql> SELECT * FROM Students; 

Teraz spustite nasledujúci príkaz na zmenu názvu dočasnej tabuľky:

 mysql> RENAME TABLE Students TO student_info; 

Zobrazí chybové hlásenie, ako je uvedené nižšie:

Tabuľka premenovania MySQL

MySQL teda umožňuje tabuľkovému príkazu ALTER premenovať dočasnú tabuľku:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Výkon

Tabuľka premenovania MySQL