场景:一个文件夹里面全是.sql文件,需要将这些sql文件导入到数据库中,不想一个个手动拖入Navicat中。

思路:这是一个有规律的事情,就是让mysql执行sql文件,只是文件名不同而已,批处理命令正可以操作一些需要做有规律事情的文件。

批处理命令中rem 相当于注释 不执行这一行内容

代码如下:

@echo off
rem 下面更换文件路径 
for %%i in (C:\Users\740969606\Desktop\topaz-FishingV3\sql\*.sql) do (
echo excute %%i
rem MySQL连接信息 最后一个是数据库名字 
mysql -u数据库账号 -p数据库密码 导入的数据表名< %%i
)
echo all sql files inport success
pause

当前命令 执行的 mysql 版本 好像不受影响的 都支持

如果 cmd命令 mysql 提示 :不是内部或外部命令,也不是可运行的程序或批处理文件。那就去 环境变量-系统变量 配置个MYSQL_HOME 指向Mysql的bin目录

再去 Path 里面添加一个 %MYSQL_HOME% 即可

升级版代码:可将bat文件直接拖到sql文件夹下,双击运行即可导入

@echo off
rem 下面更换文件路径 遇到文件有空格 双引号用包起来
for %%i in (.\*.sql) do (
echo excute %%i
rem MySQL连接信息 最后一个是数据库名字 
mysql -uroot -proot 库名< %%i
)
echo success
pause

再次升级 免环境变量配置

@echo off
rem 下面更换文件路径 遇到文件有空格 双引号用包起来
rem 这里设置了MySQL路径,这样就可以使用了!
set "mysql=E:\BtSoft\mysql\MariaDB-10.4\bin\mysql.exe"
for %%i in (.\*.sql) do (
echo excute %%i
rem MySQL连接信息 最后一个是数据库名字 
%mysql% -uroot -proot 库名< %%i
)
echo success
pause
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤

免责声明:
本站文章旨在总结学习互联网技术过程中的经验与见解。任何人不得将其用于违法或违规活动!所有违规内容均由个人自行承担,与作者无关。