logo

Таблиця перейменування MySQL

Іноді ім'я нашої таблиці не має сенсу, тому потрібно перейменувати або змінити назву таблиці. MySQL надає корисний синтаксис, який може перейменувати одну або декілька таблиць у поточній базі даних.

Синтаксис

Нижче наведено синтаксис, який використовується для зміни назви таблиці:

 mysql> RENAME old_table TO new_table; 

Тут ми повинні переконатися в цьому ім'я_нової_таблиці не повинно існувати, і old_table_name повинні бути присутніми в базі даних. Інакше буде видано повідомлення про помилку. Перед виконанням цього оператора потрібно переконатися, що таблиця не заблокована, а також немає активних транзакцій.

ПРИМІТКА. Якщо ми використовуємо інструкцію RENAME TABLE, необхідно мати привілеї ALTER і DROP TABLE для існуючої таблиці. Крім того, цей оператор не може змінити назву тимчасової таблиці.

Ми також можемо використовувати MySQL ПЕРЕЙМЕНУВАТИ ТАБЛИЦЮ для зміни кількох імен таблиці за допомогою одного оператора, як показано нижче:

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

Від MySQL 8.0.13 версії, ми можемо змінити стару назву таблиці, заблоковану оператором LOCK, а також використовувати пропозицію WRITE LOCK. Наприклад, наступні дійсні твердження:

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

Наступні твердження не допускаються:

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

До версії MySQL 8.0.13 ми не можемо змінити назву таблиці, яка була заблокована оператором LOCK TABLE.

MySQL також використовує оператор RENAME TABLE для переміщення таблиці з однієї бази даних до іншої, як показано нижче:

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

MySQL RENAME TABLE Приклад

Давайте зрозуміємо, як оператор RENAME TABLE працює в MySQL на різних прикладах. Припустимо, у нас є таблиця з назвою СПІВРОБІТНИК , і з якоїсь причини виникає необхідність змінити його на таблицю з іменем ЗАМОВНИК .

Назва таблиці: працівник

Таблиця перейменування MySQL

Далі виконайте такий синтаксис, щоб змінити назву таблиці:

 mysql> RENAME employee TO customer; 

Вихід

що таке maven

Ми побачимо, що таблиця під назвою «співробітник» буде змінено на нову назву таблиці «клієнт»:

Таблиця перейменування MySQL

У наведеному вище виводі ми бачимо, що якщо ми використовуємо ім’я таблиці employee після виконання оператора RENAME TABLE, це видасть повідомлення про помилку.

Як перейменувати кілька таблиць

Оператор RENAME TABLE у MySQL також дозволяє нам змінювати більше ніж одне ім’я таблиці в одному операторі. Перегляньте заяву нижче:

Припустимо, наша база даних ' myemployeedb ' має такі таблиці:

Таблиця перейменування MySQL

Якщо ми хочемо змінити ім’я столу клієнта на працівника, а сорочки з ім’ям столу – на одяг, виконайте такий оператор:

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

Вихід

Ми бачимо, що ім’я таблиці «клієнт» на «працівник», а ім’я таблиці «сорочки» — на «одяг» успішно перейменовано.

Таблиця перейменування MySQL

Перейменуйте таблицю за допомогою оператора ALTER

Інструкцію ALTER TABLE також можна використовувати для перейменування існуючої таблиці в поточній базі даних. Нижче наведено синтаксис оператора ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Подивіться наведений нижче запит, який змінює одяг із існуючих імен таблиць на нові сорочки з іменами таблиць:

: на java
 mysql> ALTER TABLE garments RENAME TO shirts: 

Вихід

Тут ми бачимо, що одяг із назв таблиці перейменовано на сорочки з іменами таблиці.

Таблиця перейменування MySQL

Як перейменувати тимчасову таблицю

Тимчасова таблиця дозволяє нам зберігати тимчасові дані, які видимі та доступні лише в поточному сеансі. Отже, спочатку нам потрібно створити тимчасову таблицю за допомогою наступного оператора:

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

Далі вставте значення в цю таблицю:

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

Далі виконайте команду show table, щоб перевірити тимчасову таблицю:

 mysql> SELECT * FROM Students; 

Тепер виконайте таку команду, щоб змінити назву тимчасової таблиці:

 mysql> RENAME TABLE Students TO student_info; 

Це видасть повідомлення про помилку, як показано нижче:

Таблиця перейменування MySQL

Таким чином, MySQL дозволяє оператору таблиці ALTER перейменувати тимчасову таблицю:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Вихід

Таблиця перейменування MySQL