多個網站共用一個Mysql數據庫時,為使數據庫管理不混亂,一般采用不同的網站使用不同前綴名的方式進行區分。而如何批量修改已有數據庫的前綴名呢?全部導出修改後再導入?還是一個表一個表的修改?今天我要介紹的是相對簡單的批量修改數據庫中表前綴的方法,適用於修改數據庫中相同前綴且數據表較多的情況。
此例中假定修改名為“www_sdck_cn”的數據庫中前綴為“phpcms_”的表,並將所有符合條件表的前綴修改為“sdck_”。
1、用phpMyAdmin打開要修改前綴的數據庫www_sdck_cn,執行以下SQL語句(其中加粗斜體字是需要根據實際需求替換的):
Select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', replace(table_name,'phpcms_','sdck_'),';')
from information_schema.tables
where TABLE_SCHEMA = 'www_sdck_cn' and table_name LIKE 'phpcms_%';
2、在執行SQL語句生成的頁面上點擊“導出”,選擇“自定義”->“直接顯示為文本”,CSV格式,清空“內容分隔符”為空
3、執行導出功能後,到達結果窗口如下,復制文本框中的內容
4、進入數據庫“www_sdck_cn”的SQL執行窗口,將代碼粘貼到SQL文本框中,執行。看一下相關數據表是不是已經修改完成了。
注意事項
數據操作有風險,請在操作前備份數據。
由於軟件版本等原因,操作僅供參考,因本文修改數據庫導致丟失或出錯的,本文作者不承擔責任。