使用mysql的source批量導入多個sql文件


需求:

有一個文件,文件里面包含100多個sql文件,想要把這些sql文件都導入到mysql中

做法:

使用 mysql 的 source 可以將文件導入到 mysql 中,但是一次只能導入一個 sql 文件,我有100多個sql。。。

用傳統的方式肯定不行,這里可以參考下 Nginx 配置文件,在 Nginx 中,可以使用“include”將一些域名配置文件統一到一個.conf文件中集中管理,那么 mysql 是否也可以這樣呢?答案是肯定的

首先,進入到你的sql文件列表里面

vim shell.sh

輸入下面的內容

#!/bin/bash
dir=`ls ~/tmp/` #定義遍歷的目錄,這個是你sql的存放路徑
echo "" > all.sql #創建一個總的sql文件,注意別跟你現有的重名即可!
for i in $dir do echo "source ~/tmp/$i;" >> all.sql done

保存后執行

# sh shell.sh

然后我們查看下all.sql文件

# cat all.sql
source ~/tmp/a.sql;
source ~/tmp/b.sql;
...
...
...

然后我們登錄到mysql中,用source導入sql

mysql > source ~/tmp/all.sql;

批量導入sql over

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM