假設:有一個數據庫,名稱為A,需要修改為B。
在Navicat中不可以按F2修改數據庫的名稱,我們必須新建一個庫,命名為B。
下面4種方式都可以實現目標。如果數據庫中有遠程表和權限設置,推薦使用第四種方式。
1、如果數據庫A中的表和設置比較簡單,直接復制數據庫A中所有表,粘貼到數據庫B即可。
2、在A數據庫上右擊 –> 轉儲SQL文件 –> 結構和數據 ; 在B數據庫上右擊 –> 運行SQL文件。
執行速度:最慢。
3、選擇菜單欄:工具 –> 數據傳輸(源庫為A,目標庫為B) –> 開始,傳輸完成后,刷新數據庫B。
如果數據庫A中存在遠程表的話,操作會報錯,錯誤信息為:
[Err] [Dtf] 1432 - server name: '' doesn't exist!
因此,你需要先將數據庫中所有遠程表的DDL語句復制到一個txt文件中,再刪除數據庫中的所有遠程表。再次執行本操作。最后,將保存在txt文件中的所有DDL語句在B庫上執行一遍即可。實現原理:復制粘貼。執行速度:中等。
4、重命名數據庫A中的所有表,兩個庫需在同一服務器。(推薦)
執行下面的SQL語句,查詢結果為重命名表的sql腳本集合:
select CONCAT('RENAME TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' to ', 'B.',TABLE_NAME,';') from information_schema.`TABLES` where TABLE_SCHEMA = 'A';
復制所有結果行,將其作為sql腳本執行。執行速度:最快。
原文鏈接:https://blog.csdn.net/gnd15732625435/article/details/80251630