首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

phpMyAdmin 批量修改 MySQL 表前綴:SQL 生成 RENAME TABLE 實戰

     編輯:MySQL 綜合教學

phpMyAdmin 批量修改 MySQL 表前綴:SQL 生成 RENAME TABLE 實戰

多專案共用單一資料庫時,透過表前綴隔離(如 wp_, dz_)。利用 phpMyAdmin 介面配合 information_schema 快速產生批量重命名 SQL。

操作場景

  • 資料庫:www_sdck_cn
  • 原前綴:phpcms_
  • 新前綴:sdck_

步驟詳解

  1. 登入 phpMyAdmin,選中資料庫 www_sdck_cn。
  2. 點擊 SQL 標籤,執行以下查詢產生 ALTER TABLE ... RENAME TO ... 語句:
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_%';
  1. 結果列表顯示每行一條重命名語句,點擊 匯出 → 自訂 → 勾選 直接顯示為文本 → 格式 SQL → 執行。
  2. 複製匯出的純 SQL 文本(含分號)。
  3. 回到 SQL 標籤,貼上並點擊 執行,完成批量重命名。

匯出 SQL 範例

ALTER TABLE phpcms_admin RENAME TO sdck_admin;
ALTER TABLE phpcms_category RENAME TO sdck_category;
ALTER TABLE phpcms_content RENAME TO sdck_content;
-- ... 更多表

關鍵注意事項

風險對策
資料遺失操作前完整備份(結構+資料)
外鍵失效先 DROP FOREIGN KEY,重命名後重建
視圖/預存程序/觸發器引用舊表名需手動修改定義(ALTER VIEW, DROP/CREATE PROCEDURE)
應用程式配置未同步同步更新框架配置檔(如 CodeIgniter $db['default']['dbprefix'])
單次 SQL 過大超時分批執行(每批 50-100 表)

命令列替代方案(無 phpMyAdmin 環境)

DB="www_sdck_cn"
OLD="phpcms_"
NEW="sdck_"

mysql -N -e "SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' RENAME TO ', REPLACE(TABLE_NAME, '$OLD', '$NEW'), ';')
FROM information_schema.TABLES WHERE TABLE_SCHEMA='$DB' AND TABLE_NAME LIKE '$OLD%';" \
| mysql $DB

-N 抑制欄位名輸出,管道直接餵給 mysql 執行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved