首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

phpMyAdmin 批量修改 MySQL 資料表前綴完整教程

     編輯:MySQL 資料庫相關知識

適用場景

  • 多站點共用單一資料庫,需區分表前綴
  • 現有表前綴需統一修改(如 phpcms_ → sdck_)
  • 表數量較大,逐個重命名不現實

操作步驟

1. 生成重命名 SQL 批次

在 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_%';

關鍵點:

  • information_schema.tables 元資料表
  • REPLACE() 字符串替換前綴
  • CONCAT() 拼接完整 ALTER TABLE ... RENAME TO ... 語句

2. 導出 SQL 為純文字

  1. 點擊結果頁面「匯出」
  2. 選擇「自訂」→ 輸出格式:「CSV」
  3. 「內容分隔符」清空(設為空)
  4. 「直接顯示為文本」
  5. 執行匯出

3. 複製並執行生成的 SQL

  1. 複製匯出文本框中的所有 SQL 語句
  2. 回到資料庫 SQL 執行視窗,貼上執行
  3. 重新整理表列表,確認前綴已批量更新

完整範例流程圖

-- 1. 生成語句
SELECT CONCAT('ALTER TABLE ', table_name, ' RENAME TO ', REPLACE(table_name, 'old_prefix_', 'new_prefix_'), ';')
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'your_db' AND table_name LIKE 'old_prefix_%';

-- 2. 輸出結果範例
ALTER TABLE old_prefix_table1 RENAME TO new_prefix_table1;
ALTER TABLE old_prefix_table2 RENAME TO new_prefix_table2;
...

-- 3. 批量執行上述語句

風險提示與最佳實踐

⚠️ 操作前必須備份資料庫!
  • DDL 操作不可回滾,誤操作將導致資料遺失
  • 建議先在測試環境驗證流程
  • 生產環境安排維護窗口執行,避開業務高峰
  • 若表有外鍵關聯,需先刪除外鍵再重命名,完成後重建
  • 應用程式配置檔同步更新新前綴

替代方案

  • mysqldump + sed 替換 + 導入:適合極大量表或跨伺服器遷移
  • 資料庫管理工具:Navicat、DataGrip 等 GUI 工具支援批量重命名
  • Shell 腳本:mysql -N -e "SHOW TABLES LIKE 'prefix_%'" | awk '{print "RENAME TABLE "$1" TO new_"$1";"}' | mysql

掌握此技巧,百張表前綴修改也能在分鐘級完成。

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