多個網站共用一個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語句生成的頁面上點擊“導出”,選擇“自定義”->“直接顯示為文本”,導出txt格式就可以了
3. 執行導出功能後,到達結果窗口如下,復制文本框中的內容 ------- 這裡由於版本不同或許需要先處理一下
4. 執行txt裡的alert語句
導出的alert語句類似於
ALTER TABLE v9_admin RENAME TO yanglao_admin;