【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件
创始人
2025-01-15 22:33:47
0

目录

问题现象:

问题分析:

思路:

解决方法:

        1、运行cmd命令窗口

        2、执行文本文件内容合并命令

总结:

        1、使用文本文件内容合并命令,将多个sql脚本文件的内容合并到一个新的sql文件中去。

        2、然后在Navicat中打开对应数据库,运行该合并后的sql脚本文件即可。


问题现象:

        今天在项目中遇到一个问题,有一个同事导出了项目A用到的所有数据库的所有表的sql文件(没有根据数据库分开存放,而是全部放在了同一个文件夹中),然后需要我按照sql文件前缀(前缀就是数据库名)来导入到项目B中对应的数据库去,sql文件如下:


        所以就引出了本文的标题:

        MySQL中如何一次性执行多个sql脚本文件?


问题分析:

        当时接到这个任务,第一时间想到的就是:

        在Navicat中在对应的数据库下,运行sql文件皆可:

        但是感觉这样的一个文件一个文件地运行效率实在太低了,会浪费很多时间啊!因为同事给我的sql脚本文件压缩包里面有近200个sql文件。

        于是我就去查资料,想看看Navicat中是否有点击一次按钮就能批量运行多个sql文件的功能?

        很遗憾,我用的Navicat15没有这个功能!那估计Navicat目前应该是不支持这种一次性运行多个sql文件的功能。

        那该如何是好?难道我真的要用最笨的方法:一个文件一个文件地去运行?

        不信邪的我,再次上网查资料,最后发现了一个也很方便的方法,非常好的解决了我的问题!


思路:

        既然Navicat中不支持一次性运行多个sql文件,那有没有办法可以把所有的sql文件中的sql都归纳到同一个汇总的sql文件去,然后在Navicat中运行这个汇总的sql文件不就可以了吗!!!

        那就只需要查一下文本文件内容合并的命令就可以了。


        很快我就查到了Windows系统中实现文本文件内容合并的命令,如下:

type 指定需要合并的文件 >>合并后的文件名

        当然这里如果追求更高效率的话,建议学习一点文件检索相关的基础命令知识,因为我希望可以有命令能帮我检索出我需要合并的文件;因为我这200多个sql文件都来自于不同的数据库,我需要根据sql文件名的前缀,去检索出我在每个数据库中对应的需要用到的文件,然后将他们合并到一个sql文件中去,然后再去Navicat中对应的数据库执行这个合并后的sql文件即可。

        至此,就相当于间接地解决了本文开头提出的问题!

        然后由于数据库不同,不可能在一个数据库下去执行所有的sql脚本文件,所以需要根据对应的数据库名来检索对应的文件并生成对应的sql合并文件才行;但一般的项目中用到的数据库基本都不会超过20个。


解决方法:

        1、运行cmd命令窗口

        在200多个sql脚本文件所在目录中打开cmd命令窗口(直接在地址栏输入cmd然后按下enter键即可):

        2、执行文本文件内容合并命令

        在打开的cmd窗口中执行命令如下:

type app_hp_*.sql >>app_hp.sql

        意思是把所有文件名前缀为【app_hp_】的文本文件的内容都合并到一个新文件【app_hp.sql】中:

        此时可以看到红框中的文件就是本次匹配到的sql文件,然后在当前文件目录下会生成了一个新的文件,即我们合并操作后的新文件【app_hp.sql】:

        最后就是在Navicat中,根据数据库执行对应的sql文件即可:

        执行完就能看见刚才匹配到的那3个sql脚本文件对应的表了:

总结:

        目前我还未找到MySQL(Navicat)中一次性执行多个sql脚本文件的直接解决方法,但是找到了间接的解决方法:

        1、使用文本文件内容合并命令,将多个sql脚本文件的内容合并到一个新的sql文件中去。

        2、然后在Navicat中打开对应数据库,运行该合并后的sql脚本文件即可。

相关内容

热门资讯

此事备受玩家关注!新超圣辅助透... 此事备受玩家关注!新超圣辅助透视挂,建德麻将存在有挂,一贯有挂细节运新超圣辅助工具,进入游戏界面。进...
今天上午!熊猫麻将辅助透视挂,... 今天上午!熊猫麻将辅助透视挂,大唐撸麻雀确实有挂,确实有挂透视1、下载好大唐撸麻雀正确养号方法之后点...
突发!小吆三打哈辅助透视挂,悠... 突发!小吆三打哈辅助透视挂,悠闲麻将真的是有挂,原来有挂解密一、小吆三打哈游戏安装教程牌型概率发牌机...
今年以来!樱花梦雨辅助透视挂,... 今年以来!樱花梦雨辅助透视挂,新滕州麻将真的是有挂,好像有挂方法今年以来!樱花梦雨辅助透视挂,新滕州...
备受关注的!边锋老友棋牌辅助透... 备受关注的!边锋老友棋牌辅助透视挂,微友麻将是真的有挂,一直有挂攻略运边锋老友棋牌辅助工具,进入游戏...
明白辅助挂!萍乡滚筒辅助透视挂... 明白辅助挂!萍乡滚筒辅助透视挂,大唐麻将游戏是有挂,一直有挂教程1、操作简单,无需大唐麻将游戏手机版...
据报道!丫丫古诗辅助透视挂,琼... 据报道!丫丫古诗辅助透视挂,琼崖海南麻将真的有挂,其实有挂方法丫丫古诗脚本下载中分为三种模型:丫丫古...
随着!多多休闲辅助透视挂,东游... 随着!多多休闲辅助透视挂,东游麻将是真的有挂,竟然有挂存在随着!多多休闲辅助透视挂,东游麻将是真的有...
方法辅助挂!星禾游戏辅助透视挂... 方法辅助挂!星禾游戏辅助透视挂,太浪乾安麻将是真的有挂,果然发现有挂1、下载好星禾游戏脚本下载之后点...
近日!巅峰互娱辅助透视挂,趣咪... 近日!巅峰互娱辅助透视挂,趣咪麻将确实有挂,真是揭秘有挂;1、这是跨平台的巅峰互娱轻量版有透视,在线...