【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件

这篇具有很好参考价值的文章主要介绍了【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

问题现象:

问题分析:

思路:

解决方法:

        1、运行cmd命令窗口

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

总结:

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

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


问题现象:

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

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库
        所以就引出了本文的标题:

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


问题分析:

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

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

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库

        但是感觉这样的一个文件一个文件地运行效率实在太低了,会浪费很多时间啊!因为同事给我的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键即可):

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库

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

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

type app_hp_*.sql >>app_hp.sql

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

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库

        此时可以看到红框中的文件就是本次匹配到的sql文件,然后在当前文件目录下会生成了一个新的文件,即我们合并操作后的新文件【app_hp.sql】:
【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库
        最后就是在Navicat中,根据数据库执行对应的sql文件即可:

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库

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

【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件,mysql,数据库

总结:

        目前我还未找到MySQL(Navicat)中一次性执行多个sql脚本文件的直接解决方法,但是找到了间接的解决方法:文章来源地址https://www.toymoban.com/news/detail-841758.html

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

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

到了这里,关于【已解决】MySQL(Navicat)中如何一次性执行多个sql脚本文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC一次性开多个线程的简单示例

    为了使用mfc,先包含afxwin.h; afxwin.h是MFC C++类库的必需文件,其中包含如CWin,CStatic,CButton,CString,CEdit等类运行所必需的头文件;它还会调用windows.h,该头文件包含有数据类型的定义、API入口点定义和其它有用的参数信息; Afx前缀是微软MFC一个小组的名称简写,并没有别的

    2024年01月25日
    浏览(58)
  • MySQL 索引常见问题汇总,一次性梳理

    hello,大家好,我是张张,「架构精进之路」公号作者。   提到MySQL查询分析,就会涉及到索引相关知识,要想学好MySQL,索引是重要且不得不啃下的一环,今天就把MySQL索引常见问题进行汇总,一次性梳理清楚。 文章目录: 索引 什么是索引? 索引的优缺点? 索引的作用?

    2024年02月07日
    浏览(48)
  • 如何一次性更新python所有的库?

    我们可以使用  pip  命令来更新 Python 库。 在命令提示符或终端中,使用pip install --upgrade后面跟上要更新的库的名称。 例如,如果你想更新名为  numpy  的库,你可以在 Windows 上打开命令提示符,在 macOS 或 Linux 上打开终端,然后输入以下命令: 这将升级  numpy  库到最新版

    2024年02月09日
    浏览(56)
  • Kafka消费端如何理解”精确一次性消费“

           精确一次性消费是指数据被消费后写入数据库的精确一次性;只要保证从Kafka读取数据之后写入数据库不丢失且不重复就可以。         消费流程:消费端在消费到Kafka数据之后把消费到的数据进行业务处理后写入到数据库,写入成功之后再保存这次消费数据的偏移

    2024年03月20日
    浏览(47)
  • IDEA如何把自己改动的代码一次性发给别人

    工作在内网环境,外网访问受限,而且不具备公司代码托管平台的push权限,此时如何把自己写的代码发给同事,而且还可以快速被IDEA的Git管理呢? 通过git,把自己本地代码 push 到其他代码托管平台,同事从其上 pull 最新代码 通过IDEA的 Patch包 的方式来快速发送修改的代码(

    2023年04月24日
    浏览(59)
  • 如何把本地项目一次性上传github(避免一个一个上传)

    一、方法如下(亲测两次有效): 如何把本地项目上传github_本地已有工程上传github-CSDN博客  执行成功截图如下: 二、如果按照上面链接遇到问题: 问题0: 上面链接方法最后一步执行后,提示不能访问github 解决方法:再重新执行一遍代码即可(中间遇到重复创建和已存在

    2024年01月22日
    浏览(71)
  • Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,前面一章给大家介绍了Visual Studio 2022 的安装和使用!    ⛳️ 但是 Visual Studio 2022 并不是按照标准的C语言标准,所以使

    2024年02月16日
    浏览(77)
  • 教你使用Sqoop一次性将mysql中的十张表导入到hive中

    ​🏠​ 个人主页:csdn春和 ​🛰​ 推荐专栏:更多专栏尽在主页!  JavaWeb专栏(从入门到实战超详细!!!)  SSM专栏 (更新中) ​📖​ 本期文章:Sqoop一次性将mysql中的十张表同步到hive中 如果对您有帮助还请三连支持,定会一 一回访! 前言:这是一篇实验随记文章

    2023年04月15日
    浏览(53)
  • mysql:IN最多只能查询1000个,如果要一次性查询出来,使用以下sql实现

    1、 if test=\\\"(index % 999) == 998\\\" :余数等于998,将,置为NULL SELECT mph.PO_HEADER_ID, mph.PO_NUMBER, mid.INSTRUCTION_DOC_STATUS, mid.INSTRUCTION_DOC_NUM FROM mt_po_header mph LEFT JOIN mt_instruction mi ON mi.SOURCE_ORDER_ID = mph.PO_HEADER_ID LEFT JOIN mt_instruction_doc mid ON mid.INSTRUCTION_DOC_ID = mi.SOURCE_DOC_ID WHERE mph.TENANT_ID = 7 AND

    2023年04月09日
    浏览(64)
  • Es 通过javaApi上传数据Long类型丢失精度的问题一次性解决

    通过 updateRequest.docAsUpsert(true) true 表示无匹配_id是插入数据,false 表示无匹配_id会抛出异常

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包