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