Uneori, numele tabelului nostru nu are sens, deci este necesar să redenumim sau să schimbăm numele tabelului. MySQL oferă o sintaxă utilă care poate redenumi unul sau mai multe tabele din baza de date curentă.
Sintaxă
Următoarele sunt sintaxa folosită pentru a schimba numele tabelului:
mysql> RENAME old_table TO new_table;
Aici, trebuie să ne asigurăm că nume_tabel_nou nu trebuie să existe și nume_tabel_vechi ar trebui să fie prezente în baza de date. În caz contrar, va arunca un mesaj de eroare. Este pentru a vă asigura că tabelul nu este blocat și că nu există tranzacții active înainte de a executa această instrucțiune.
NOTĂ: Dacă folosim instrucțiunea RENAME TABLE, este necesar să avem privilegii ALTER și DROP TABLE în tabelul existent. De asemenea, această instrucțiune nu poate schimba numele unui tabel temporar.
Putem folosi și MySQL REDENUMIȚI TABELUL instrucțiune pentru a schimba mai mult de un nume de tabel cu o singură instrucțiune, după cum se arată mai jos:
RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3;
De la MySQL 8.0.13 versiune, putem schimba vechiul nume de tabel blocat cu o instrucțiune LOCK și, de asemenea, folosim clauza WRITE LOCK. De exemplu, următoarele sunt declarațiile valide:
mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Următoarele declarații nu sunt permise:
mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Înainte de versiunea MySQL 8.0.13, nu putem schimba numele tabelului care a fost blocat cu instrucțiunea LOCK TABLE.
MySQL utilizează, de asemenea, instrucțiunea RENAME TABLE pentru a muta un tabel dintr-o bază de date în altă bază de date, care este prezentată mai jos:
mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name;
MySQL RENAME TABLE Exemplu
Să înțelegem cum funcționează instrucțiunea RENAME TABLE în MySQL prin diferitele exemple. Să presupunem că avem un tabel numit ANGAJAT , și dintr-un motiv oarecare, este necesar să îl schimbați în tabelul numit CLIENT .
Nume tabel: angajat
Apoi, executați următoarea sintaxă pentru a schimba numele tabelului:
mysql> RENAME employee TO customer;
Ieșire
Java comparabil
Vom vedea că tabelul numit „angajat” va fi schimbat într-un nou nume de tabel „client”:
În rezultatul de mai sus, putem vedea că dacă folosim numele tabelului angajat după executarea unei instrucțiuni RENAME TABLE, va arunca un mesaj de eroare.
Cum să REDENUMIȚI mai multe mese
Instrucțiunea RENAME TABLE din MySQL ne permite, de asemenea, să schimbăm mai mult de un nume de tabel într-o singură instrucțiune. Vezi declarația de mai jos:
Să presupunem că baza noastră de date ' angajatul meub ' având următoarele tabele:
Dacă dorim să schimbăm numele de masă client în angajați și cămăși cu numele de masă în articole de îmbrăcăminte, executați următoarea instrucțiune:
mysql> RENAME TABLE customer TO employee, shirts TO garments;
Ieșire
Putem vedea că tabelul numele clientului în angajat și cămășile cu numele tabelului în articole de îmbrăcăminte au fost redenumite cu succes.
Redenumiți tabelul folosind instrucțiunea ALTER
Instrucțiunea ALTER TABLE poate fi folosită și pentru a redenumi tabelul existent în baza de date curentă. Următoarele sunt sintaxa instrucțiunii ALTER TABLE:
ALTER TABLE old_table_name RENAME TO new_table_name;
Vedeți următoarea interogare care schimbă articolele de îmbrăcăminte existente cu numele de masă în cămăși noi cu nume de masă:
manager de sarcini pentru linux
mysql> ALTER TABLE garments RENAME TO shirts:
Ieșire
Aici, putem vedea că articolele vestimentare cu nume de masă au fost redenumite în cămăși cu nume de masă.
Cum să REDENUMIȚI tabelul temporar
Un tabel temporar ne permite să păstrăm date temporare, care sunt vizibile și accesibile numai în sesiunea curentă. Deci, mai întâi, trebuie să creăm un tabel temporar folosind următoarea declarație:
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);
Apoi, introduceți valori în acest tabel:
mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2);
Apoi, rulați comanda show table pentru a verifica tabelul temporar:
mysql> SELECT * FROM Students;
Acum, rulați următoarea comandă pentru a schimba numele tabelului temporar:
mysql> RENAME TABLE Students TO student_info;
Va arunca un mesaj de eroare, așa cum se arată mai jos:
Astfel, MySQL permite instrucțiunii ALTER table să redenumească tabelul temporar:
mysql> ALTER TABLE Students RENAME TO student_info;
Ieșire