logo

MySQL pervadinimo lentelė

Kartais mūsų lentelės pavadinimas neturi prasmės, todėl reikia pervardyti arba pakeisti lentelės pavadinimą. MySQL suteikia naudingą sintaksę, kuri gali pervardyti vieną ar kelias lenteles dabartinėje duomenų bazėje.

Sintaksė

Toliau pateikiama sintaksė, naudojama lentelės pavadinimui pakeisti:

 mysql> RENAME old_table TO new_table; 

Čia mes turime tuo įsitikinti naujas_lentelės_pavadinimas neturi egzistuoti ir senas_lentelės_pavadinimas turi būti duomenų bazėje. Priešingu atveju bus rodomas klaidos pranešimas. Prieš vykdant šį teiginį reikia užtikrinti, kad lentelė nebūtų užrakinta ir kad nebūtų aktyvių operacijų.

PASTABA: jei naudojame teiginį RENAME TABLE, jis turi turėti ALTER ir DROP TABLE teises į esamą lentelę. Be to, šis teiginys negali pakeisti laikinosios lentelės pavadinimo.

Taip pat galime naudoti MySQL PERVARDYTI LENTELĘ sakinys, kad pakeistumėte daugiau nei vieną lentelės pavadinimą vienu sakiniu, kaip parodyta toliau:

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

Nuo MySQL 8.0.13 versija, galime pakeisti seną lentelės pavadinimą, užrakintą naudojant LOCK teiginį, taip pat naudojamą WRITE LOCK sąlygą. Pavyzdžiui, galiojantis teiginys yra toks:

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

Šis teiginys neleidžiamas:

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

Iki MySQL 8.0.13 versijos negalime pakeisti lentelės pavadinimo, kuris buvo užrakintas sakiniu LOCK TABLE.

MySQL taip pat naudoja teiginį RENAME TABLE, kad perkeltų lentelę iš vienos duomenų bazės į kitą duomenų bazę, kuri parodyta žemiau:

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

MySQL RENAME TABLE Pavyzdys

Leiskite mums suprasti, kaip RENAME TABLE sakinys veikia MySQL naudojant įvairius pavyzdžius. Tarkime, kad turime lentelę pavadinimu DARBUOTOJAS , ir dėl tam tikrų priežasčių jį reikia pakeisti į lentelę pavadinimu KLIENTAS .

Lentelės pavadinimas: darbuotojas

MySQL pervadinimo lentelė

Tada atlikite šią sintaksę, kad pakeistumėte lentelės pavadinimą:

 mysql> RENAME employee TO customer; 

Išvestis

Aktorė Rakul Preet Singh

Pamatysime, kad lentelė pavadinimu „darbuotojas“ bus pakeista į naują lentelės pavadinimą „klientas“:

MySQL pervadinimo lentelė

Aukščiau pateiktame išvestyje matome, kad jei naudosime lentelės pavadinimą darbuotojas, įvykdę RENAME TABLE teiginį, jis išmes klaidos pranešimą.

Kaip pervardyti kelias lenteles

RENAME TABLE sakinys MySQL taip pat leidžia mums pakeisti daugiau nei vieną lentelės pavadinimą viename sakinyje. Žiūrėkite toliau pateiktą pareiškimą:

Tarkime, mūsų duomenų bazė mano darbuotojasb “, turinčios šias lenteles:

MySQL pervadinimo lentelė

Jei norime pakeisti lentelės pavadinimą klientas į darbuotoją, o lentelės pavadinimą - marškinius į drabužius, vykdykite šį teiginį:

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

Išvestis

Matome, kad lentelės pavadinimas klientas į darbuotoją ir lentelės pavadinimas marškiniai į drabužius buvo sėkmingai pervadinti.

MySQL pervadinimo lentelė

Pervardykite lentelę naudodami ALTER teiginį

Teiginys ALTER TABLE taip pat gali būti naudojamas esamai lentelei dabartinėje duomenų bazėje pervadinti. Toliau pateikiama ALTER TABLE teiginio sintaksė:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Peržiūrėkite šią užklausą, kuri pakeičia esamus lentelės pavadinimų drabužius į naujus lentelės pavadinimų marškinius:

java gauna dabartinę datą
 mysql> ALTER TABLE garments RENAME TO shirts: 

Išvestis

Čia matome, kad lentelė pavadina drabužius, pervadintus į lentelės pavadinimų marškinius.

MySQL pervadinimo lentelė

Kaip pervardyti laikinąją lentelę

Laikinoji lentelė leidžia mums saugoti laikinus duomenis, kurie matomi ir pasiekiami tik dabartinės sesijos metu. Taigi, pirmiausia turime sukurti laikiną lentelę naudodami šį teiginį:

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

Tada į šią lentelę įterpkite vertes:

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

Tada paleiskite komandą rodyti lentelę, kad patikrintumėte laikinąją lentelę:

 mysql> SELECT * FROM Students; 

Dabar paleiskite šią komandą, kad pakeistumėte laikinosios lentelės pavadinimą:

 mysql> RENAME TABLE Students TO student_info; 

Bus parodytas klaidos pranešimas, kaip parodyta žemiau:

MySQL pervadinimo lentelė

Taigi, MySQL leidžia ALTER lentelės sakiniui pervardyti laikinąją lentelę:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Išvestis

MySQL pervadinimo lentelė