快速修改MySQL數據庫名稱


原理:先創建新的數據庫,然后利用information_schema數據庫表結構信息,用 RENAME命令 將舊的表遷移到新數據庫里面,最后刪除舊的數據庫名稱即可。

步驟如下:

#查詢目標數據庫下面的所有表
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='舊數據庫名稱';

#創建新數據庫
CREATE DATABASE IF NOT EXISTS 新數據庫名稱 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
#將每個舊表遷移到新的數據庫里面
RENAME TABLE 舊數據庫名稱.表1 TO 新數據庫名稱.表1,舊數據庫名稱.表2 TO 新數據庫名稱.表2,……;

#查詢新數據庫下面的所有表是否遷移成功
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='新數據庫名稱';

#最后刪除舊數據庫
DROP DATABASE 舊數據庫名稱;

注意,RENAME這個語法在mysql 5.1.7中被添加進baidu,到了zhi5.1.23又去掉了。

 

其他相關命令:

#查詢目標數據庫里的視圖
SELECT * FROM information_schema.VIEWS WHERE TABLE_SCHEMA='數據庫名稱';

#查詢目標數據庫名
SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN('information_schema','mysql','performance_schema','sys');
#查詢目標數據庫下面的所有表
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='數據庫名稱';

完。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM