logo

MySQL preimenuj tablicu

Ponekad je naziv naše tablice besmislen, pa je potrebno preimenovati ili promijeniti naziv tablice. MySQL pruža korisnu sintaksu koja može preimenovati jednu ili više tablica u trenutnoj bazi podataka.

Sintaksa

Sljedeća je sintaksa koja se koristi za promjenu naziva tablice:

 mysql> RENAME old_table TO new_table; 

Evo, to moramo osigurati novi_ime_tablice ne smije postojati, i ime_stare_tablice treba biti prisutan u bazi podataka. U suprotnom, izbacit će poruku o pogrešci. Treba osigurati da tablica nije zaključana kao i da nema aktivnih transakcija prije izvršavanja ove naredbe.

NAPOMENA: Ako koristimo naredbu RENAME TABLE, potrebno je imati privilegije ALTER i DROP TABLE za postojeću tablicu. Također, ova izjava ne može promijeniti naziv privremene tablice.

Također možemo koristiti MySQL PREIMENOVANJE TABLICE naredbu za promjenu više od jednog naziva tablice s jednom naredbom, kao što je prikazano u nastavku:

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

Od MySQL 8.0.13 verziji, možemo promijeniti stari naziv tablice zaključan naredbom LOCK i također koristi klauzulu WRITE LOCK. Na primjer, sljedeće su važeće izjave:

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

Sljedeće izjave nisu dopuštene:

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

Prije verzije MySQL 8.0.13, ne možemo promijeniti naziv tablice koji je bio zaključan naredbom LOCK TABLE.

MySQL također koristi naredbu RENAME TABLE za premještanje tablice iz jedne baze podataka u drugu bazu podataka, što je prikazano u nastavku:

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

Primjer MySQL RENAME TABLE

Razmotrimo kako naredba RENAME TABLE radi u MySQL-u kroz razne primjere. Pretpostavimo da imamo tablicu pod imenom ZAPOSLENIK , te iz nekog razloga postoji potreba da se promijeni u tablicu pod nazivom KUPAC .

Naziv tablice: zaposlenik

MySQL preimenuj tablicu

Zatim izvršite sljedeću sintaksu da promijenite naziv tablice:

 mysql> RENAME employee TO customer; 

Izlaz

java lambda izrazi

Vidjet ćemo da će se tablica pod nazivom 'zaposlenik' promijeniti u novu tablicu pod nazivom 'kupac':

MySQL preimenuj tablicu

U gornjem izlazu možemo vidjeti da će, ako koristimo naziv tablice zaposlenik nakon izvršavanja naredbe RENAME TABLE, izbaciti poruku o pogrešci.

Kako preimenovati više tablica

Izjava RENAME TABLE u MySQL-u nam također omogućuje promjenu više od jednog naziva tablice unutar jedne izjave. Pogledajte izjavu u nastavku:

Pretpostavimo da naša baza podataka ' moj zaposlenikb ' koji ima sljedeće tablice:

MySQL preimenuj tablicu

Ako želimo promijeniti naziv stola kupca u zaposlenika, a naziv stola majice u odjevne predmete, izvršimo sljedeću naredbu:

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

Izlaz

Vidimo da su naziv tablice kupac u zaposlenik i naziv tablice košulje u odjevne predmete uspješno preimenovani.

MySQL preimenuj tablicu

Preimenujte tablicu pomoću naredbe ALTER

Izjava ALTER TABLE također se može koristiti za preimenovanje postojeće tablice u trenutnoj bazi podataka. Sljedeća je sintaksa naredbe ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Pogledajte sljedeći upit koji mijenja postojeću odjeću s nazivom tablice u nove košulje s nazivom tablice:

nedostaci vezani uz internet
 mysql> ALTER TABLE garments RENAME TO shirts: 

Izlaz

Ovdje možemo vidjeti da su odjevni predmeti s nazivom stola preimenovani u košulje s nazivom stola.

MySQL preimenuj tablicu

Kako preimenovati privremenu tablicu

Privremena tablica omogućuje nam čuvanje privremenih podataka koji su vidljivi i dostupni samo u trenutnoj sesiji. Dakle, prvo moramo stvoriti privremenu tablicu pomoću sljedeće izjave:

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

Zatim umetnite vrijednosti u ovu tablicu:

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

Zatim pokrenite naredbu show table da provjerite privremenu tablicu:

 mysql> SELECT * FROM Students; 

Sada pokrenite sljedeću naredbu da promijenite naziv privremene tablice:

 mysql> RENAME TABLE Students TO student_info; 

Izbacit će poruku o pogrešci, kao što je prikazano u nastavku:

MySQL preimenuj tablicu

Dakle, MySQL dopušta naredbu ALTER table za preimenovanje privremene tablice:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Izlaz

MySQL preimenuj tablicu