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

MySQL 批量執行多個 SQL 檔案:source 命令鏈式調用

     編輯:MySQL 資料庫相關知識

場景

初始化腳本拆分為多個檔案(1.sql、2.sql...),需按順序一次性執行。

方法:主控腳本 + source

  1. 建立 batch.sql:
SOURCE 1.sql;
SOURCE 2.sql;
SOURCE 3.sql;
SOURCE 4.sql;
  1. MySQL 客戶端執行:
mysql -uroot -p db_name < batch.sql
# 或已在 mysql> 提示符下
mysql> SOURCE /path/to/batch.sql;

注意事項

  • SOURCE 路徑相對於 MySQL 客戶端啟動目錄,建議用絕對路徑
  • 檔案編碼需與 character_set_client 一致(推薦 UTF-8)
  • 單條語句錯誤預設中斷,若需繼續執行啟動客戶端加 --force
  • 大檔案建議拆分、壓縮傳輸、分批執行

進階:Shell 迴圈批量執行目錄下所有 .sql

for f in /path/to/sql/*.sql; do
  echo "Executing $f"
  mysql -uroot -p db_name < "$f"
done

自動化部署整合

  • Ansible:mysql_db: state=import target=/path/to/batch.sql
  • Flyway / Liquibase:版本化遷移框架,自動排序、校驗、回滾
  • CI/CD 流水線:建構階段打包 SQL → 部署階段執行

掌握 SOURCE 鏈式調用,多檔案初始化不再手動逐個執行。

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