使用bat创建数据库并导入sql信息

项目需要使用bat批处理文件自动导入sql文件,对用户更友好,网上找了很多,有些能使有些不能使,借鉴了一些,主要是借鉴了下面博客

bat脚本执行mysql命令导入sql文件到数据库_大健的日常的博客-CSDN博客_bat执行mysql脚本这是我的mysql路径:下面是我的bat命令(x一句,刚接触博客,手残)注意:此命令存在bat脚本中C:\JiaFa\Setup\MySQL Server 5.5\bin\mysql.exe -h localhost -uroot -pjfkjyfb dajian >e:\dblog.txt 2>&1给大家解释一下这句话:C:\JiaFa\Setup\MySQL Servehttps://blog.csdn.net/womenrendeme/article/details/75799515?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166407062816800192261090%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166407062816800192261090&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_v39-2-75799515-null-null.142%5Ev50%5Epc_rank_34_2,201%5Ev3%5Econtrol_2&utm_term=%E4%BD%BF%E7%94%A8bat%E5%AF%BC%E5%85%A5sql%E5%88%B0%E6%95%B0%E6%8D%AE%E5%BA%93&spm=1018.2226.3001.4187但是这个还是有问题,就是上面方法,只能说有了A数据库,再使用上面方法导入sql文件,但是我需要的是bat自动创建A数据库,并且导入sql文件,下面是操作

代码

set str="C:\Program Files\MySQL\MySQL Server 8.0\bin\"
mysql -h localhost -uroot -proot -e "create database if not exists merdm default charset utf8 collate utf8_general_ci">nul 2>nul
	echo finish to create database >> d:\acousticData\dblog.txt 2>&1
mysql -h localhost -uroot -proot merdm < d:\acousticData\merdm.sql>> d:\acousticData\dblog.txt 2>&1
pause

介绍

str:数据库bin文件夹路径,

if no exists merdm,merdm是我的数据库名称,可以按照自己数据库名称建立,

d:\acousticData\dblog.txt,是我运行的日志,如果有错误会记录,否则不会记录

uroot,proot是u用户名,p用户名

后面的merdm是我的数据库名称,d:\acousticData\merdm.sql是存放sql文件的路径,

d:\acousticData\dblog.txt还是日志存放路径

pause,是暂停,让咱们能看清cmd运行命令,看看具体往cmd输入了什么,不需要可以删掉

总体来说第一行是建立数据库,第二行是往数据库里面导入sql文件,每一个都可以单独拿出来

所以如果拿来使用,需要更改的地方有这么几处

str要更改(至于我没用到后面再说),所有merdm不带.sql的改成自己数据库的名称,所有带merdm.sql的改成自己的路径,所有dblog.txt的改成自己的日志路径,这个日志可以自动创建

所以不需要创建文件,至于上级目录需不需要建这没有实践过

下面讲讲为什么str我没有用到,我的mysql配置了环境变量,然后我使用bin目录下的mysql.exe总是有问题,

set str="C:\Program Files\MySQL\MySQL Server 8.0\bin\"
%str%mysql.exe-h localhost -uroot -proot -e "create database if not exists merdm default charset utf8 collate utf8_general_ci">nul 2>nul
	echo finish to create database >> d:\acousticData\dblog.txt 2>&1
mysql -h localhost -uroot -proot merdm < d:\acousticData\merdm.sql>> d:\acousticData\dblog.txt 2>&1
paus

原本应该是这样的,使用bin下面的exe运行,但是我电脑有点问题,具体我也不清楚,反正如果配置了环境变量,按上面第一个的应该就可以了,如果不行可以试试第二个

运行成功截图

 

常见错误

cmd里面路径有乱码:这是因为路径存在中文,或者路径中的空格是中文,或者空格多了或者少了,自己可以切换到英文试验一下

mysql无法访问或者其他mysql的问题,可以试试配置环境变量,用mysql来执行命令(就是用第一个代码块),如果不行,就用bin目录下面的mysql.exe执行(就是第二个代码块)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值