1. 程式人生 > >MySQL 8.0.12 資料庫重新命名

MySQL 8.0.12 資料庫重新命名

MySQL資料庫中沒有提供資料庫重新命名的功能,不過我們可以有如下幾種方式實現。
1.客戶端工具heidisql
2.mydumper備份工具
3.自己寫指令碼實現。
上述實現的本質還是修改表名。

方式1:heidisql
1.1 軟體下載
https://www.heidisql.com/download.php?download=installer

1.2 實現的指令碼:
CREATE DATABASE `emp` /*!40100 COLLATE 'utf8mb4_unicode_ci' */;
RENAME TABLE `employees`.`departments` TO `emp`.`departments`, 
`employees`.`dept_emp` TO `emp`.`dept_emp`,
 `employees`.`dept_manager` TO `emp`.`dept_manager`, 
`employees`.`employees` TO `emp`.`employees`,
 `employees`.`expected_values` TO `emp`.`expected_values`, 
`employees`.`found_values` TO `emp`.`found_values`, 
`employees`.`salaries` TO `emp`.`salaries`, 
`employees`.`tchecksum` TO `emp`.`tchecksum`, 
`employees`.`titles` TO `emp`.`titles`;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='employees';
SHOW TABLE STATUS FROM `employees`;
SHOW FUNCTION STATUS WHERE `Db`='employees';
SHOW PROCEDURE STATUS WHERE `Db`='employees';
SHOW TRIGGERS FROM `employees`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='employees';
DROP DATABASE `employees`;
SHOW DATABASES;
/* 進入會話 "Unnamed" */
SHOW DATABASES;
/* 進入會話 "Unnamed" */
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='';
SHOW TABLE STATUS FROM ``;
/* SQL錯誤(1102):Incorrect database name '' */
SHOW FUNCTION STATUS WHERE `Db`='';
SHOW PROCEDURE STATUS WHERE `Db`='';
SHOW TRIGGERS FROM ``;
/* SQL錯誤(1102):Incorrect database name '' */
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='';

1.3 操作步驟:

登入進入資料庫選擇要修改的資料庫名字: 

點選編輯之後在彈出的對話方塊中輸入新的資料庫名字:

 檢視修改完畢之後名字,在工具的下方可以看到實現的指令碼。