簡體   English   中英

在位於文件夾樹中的 MySQL 中運行多個 SQL 文件

[英]Run multiple SQL files in MySQL located in a folder tree

我有一個文件夾結構,每個文件夾結構都有多個 SQL 文件。

我想知道如何從 shell 大量運行 MySQL 的所有源文件。 我使用 Ubuntu。

歡迎任何建議。 謝謝。

sql
    admin
        adm_a.sql
        adm_b.sql
        adm_c.sql
    user
        usr_new.sql
        usr_upd.sql
    operator
        opr_ctrl.sql
        opr_migrate.sql

您需要進行研究以獲取適用於您的 shell 類型的確切命令,但在高層次上,您需要在腳本中執行以下操作:

connect to mysql (with username/password)
for subfolder in `sql`:
    sql_files = list(*.sql)
    for sql_file in sql_files:
        pipe sql_file to mysql db

謝謝大家的回復,我終於可以得到:

for i in `find . -name "*.sql"`; 
do mysql -e "source `expr ${i:2}`" -u MyUser -pMyPassword MyDataBase; 
done

我希望這會為某人服務。

問候。

不是確切的命令,但像這樣的東西會起作用

for directory in admin user operator
do
  for sql_file in directory/*.sql
  do
     mysql db_name < sql_file.sql
  done
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM