Joskus taulukon nimi on merkityksetön, joten se on nimettävä uudelleen tai muutettava taulukon nimi. MySQL tarjoaa hyödyllisen syntaksin, joka voi nimetä uudelleen yhden tai useamman taulukon nykyisessä tietokannassa.
Syntaksi
Taulukon nimen muuttamiseen käytetty syntaksi on seuraava:
mysql> RENAME old_table TO new_table;
Tässä meidän on varmistettava se uusi_taulukon_nimi ei saa olla olemassa, ja vanha_taulukon_nimi pitäisi olla tietokannassa. Muuten se antaa virheilmoituksen. Sen tarkoituksena on varmistaa, että taulukkoa ei ole lukittu ja ettei aktiivisia tapahtumia ole ennen tämän käskyn suorittamista.
HUOMAUTUS: Jos käytämme RENAME TABLE -käskyä, sillä on oltava ALTER- ja DROP TABLE -oikeudet olemassa olevaan taulukkoon. Tämä lauseke ei myöskään voi muuttaa väliaikaisen taulukon nimeä.
Voimme myös käyttää MySQL:ää NIMEÄ TAULU UUDELLEEN lauseke muuttaa useamman kuin yhden taulukon nimeä yhdellä käskyllä, kuten alla:
RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3;
alkaen MySQL 8.0.13 versiossa, voimme muuttaa vanhan taulukon nimen, joka on lukittu LOCK-käskyllä ja käyttää myös WRITE LOCK -lausetta. Esimerkiksi seuraavat ovat kelvollinen lausunto:
mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Seuraavat lausunnot eivät ole sallittuja:
mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Ennen MySQL 8.0.13 -versiota emme voi muuttaa taulukon nimeä, joka oli lukittu LOCK TABLE -käskyllä.
MySQL käyttää myös RENAME TABLE -käskyä taulukon siirtämiseen tietokannasta toiseen tietokantaan, joka näkyy alla:
mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name;
MySQL RENAME TABLE Esimerkki
Ymmärrämme eri esimerkkien kautta, kuinka RENAME TABLE -käsky toimii MySQL:ssä. Oletetaan, että meillä on taulukko nimeltä TYÖNTEKIJÄ , ja jostain syystä se on muutettava taulukkoon nimeltä ASIAKAS .
Taulukon nimi: työntekijä
Muuta taulukon nimi suorittamalla seuraava syntaksi:
mysql> RENAME employee TO customer;
Lähtö
merkkijonojen jakaminen c++
Näemme, että taulukko nimeltä 'työntekijä' muutetaan uudeksi taulukoksi 'asiakas':
Yllä olevassa lähdössä voimme nähdä, että jos käytämme taulukon nimeä työntekijä RENAME TABLE -käskyn suorittamisen jälkeen, se antaa virheilmoituksen.
Kuinka nimetä uudelleen useita taulukoita
RENAME TABLE -käsky MySQL:ssä mahdollistaa myös useamman kuin yhden taulukon nimen muuttamisen yhdessä lauseessa. Katso alla oleva lausunto:
Oletetaan tietokantamme ' minun työntekijäb ' jossa on seuraavat taulukot:
Jos haluamme muuttaa taulukon nimen asiakas työntekijäksi ja taulukon nimen paidat vaatteiksi, suorita seuraava käsky:
mysql> RENAME TABLE customer TO employee, shirts TO garments;
Lähtö
Näemme, että taulukon nimi asiakas työntekijäksi ja taulukon nimi paidat vaatteiksi on onnistuneesti nimetty uudelleen.
Nimeä taulukko uudelleen ALTER-käskyllä
ALTER TABLE -käskyä voidaan käyttää myös nykyisen tietokannan olemassa olevan taulukon uudelleennimeämiseen. Seuraava on ALTER TABLE -käskyn syntaksi:
ALTER TABLE old_table_name RENAME TO new_table_name;
Katso seuraava kysely, joka muuttaa olemassa olevat taulukon nimivaatteet uusiksi taulukon nimipaidiksi:
Task Manager Linuxille
mysql> ALTER TABLE garments RENAME TO shirts:
Lähtö
Tässä voimme nähdä, että taulukko nimeää vaatteita uudelleen nimettyihin taulukon nimipaidoihin.
Väliaikaisen taulukon uudelleennimeäminen
Väliaikaisen taulukon avulla voimme säilyttää väliaikaiset tiedot, jotka ovat näkyvissä ja käytettävissä vain nykyisessä istunnossa. Joten ensin meidän on luotava väliaikainen taulukko käyttämällä seuraavaa lausetta:
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);
Lisää seuraavaksi arvot tähän taulukkoon:
mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2);
Suorita seuraavaksi show table -komento tarkistaaksesi väliaikaisen taulukon:
mysql> SELECT * FROM Students;
Suorita nyt seuraava komento vaihtaaksesi väliaikaisen taulukon nimen:
mysql> RENAME TABLE Students TO student_info;
Se antaa virheilmoituksen alla olevan kuvan mukaisesti:
Siten MySQL sallii ALTER-taulukon käskyn nimetä väliaikaisen taulukon uudelleen:
mysql> ALTER TABLE Students RENAME TO student_info;
Lähtö