MySQL执行外部sql脚本文件的命令

 更新时间:2021年12月22日 10:18:36   作者:ReaderWriter  
sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中,然后通过相关的命令执行这个sql脚本文件,本文就详细的介绍一下,感兴趣的朋友可以了解一下

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件。

1.创建包含sql命令的sql脚本文件

在D盘根目录下新建一个文本文档,并改名为day01.sql(名字自己取,最好不要有中文,特殊符号,以.sql结尾)

 

day01.sql文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:

create table emps (
	empno		int(8)	primary key,
	ename		varchar(20),
	job			varchar(20),
	mgr			int(8),
	hiredate	date,
	sal			double(11,2),
	comm		double(11,2),
	deptno		int(8)
);
  
insert into emps values(1,'张三','领导',0,sysdate(),18000.0,3000.0,1);
insert into emps values(2,'李四','销售',1,sysdate(),7000.0,5000.0,1);
insert into emps values(3,'王五','销售',1,sysdate(),8000.0,2000.0,1);
insert into emps values(4,'马六','市场',1,sysdate(),6000.0,0,1);
insert into emps values(5,'周七','市场',1,sysdate(),5000.0,0,1);
insert into emps values(6,'冯八','市场',1,sysdate(),4000.0,0,1);
commit;

需要注意的是,mysql里不能直接创建序列CREATE SEQUENCE,需要创建一张储存sequence的表,然后手动插入一条数据 ,最后自定义一个函数来处理要增长的值。

以上SQL语句中包含中文,所以,在执行sql脚本文件前,需要检查一下你现在使用的MySQL使用的是什么字符集。 MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table tableName ;show full fields from tableName; 来检查当前表中字段的字符集设置。

MySQL中关于连接环境的字符集设置有 Client端,connection, results ,通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。

当前联接系统参数  show variables like 'char%';


退出mysql,使用net stop mysql命令,停止mysql服务

找到你的mysql安装目录下,找到my.ini文件,用记事本打开


 

重新打开CMD控制台,输入net start mysql回车,启动mysql服务,启动成功后,进入mysql,并使用jsd170101数据库


2.执行sql脚本文件(介绍三种方式)

方法一:

C:\Users\Administrator>mysql -uroot -p123456 -Djsd170101<D:\day01.sql
//mysql -u账号 -p密码 -D数据库名 < sql文件绝对路径

 

 

方法二:

mysql> source D:\day01.sql   
//mysql控制台下执行source D:\day01.sql


方法三:

mysql> \. D:\day01.sql 
// \. D:\day01.sql

到此这篇关于MySQL执行外部sql脚本文件的命令的文章就介绍到这了,更多相关MySQL执行外部sql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql手动删除BINLOG的方法

    mysql手动删除BINLOG的方法

    用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
    2013-03-03
  • mysql数据类型和字段属性原理与用法详解

    mysql数据类型和字段属性原理与用法详解

    这篇文章主要介绍了mysql数据类型和字段属性,结合实例形式分析了mysql数据类型和字段属性基本概念、原理、分类、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • MySQL最左匹配原则详细分析

    MySQL最左匹配原则详细分析

    首先回顾一下什么是最左匹配(也有称之为最左前缀)?顾名思义:最左优先,以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like)就会停止匹配
    2022-12-12
  • 导致MySQL索引失效的一些常见写法总结

    导致MySQL索引失效的一些常见写法总结

    这篇文章主要给大家介绍了关于导致MySQL索引失效的一些常见写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式

    mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式

    这篇文章主要介绍了mysql注入之长字符截断,orderby注入,HTTP分割注入,limit注入方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Mysql| 使用通配符进行模糊查询详解(like,%,_)

    Mysql| 使用通配符进行模糊查询详解(like,%,_)

    这篇文章主要介绍了Mysql| 使用通配符进行模糊查询详解(like,%,_),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 详解MySQL开启远程连接权限

    详解MySQL开启远程连接权限

    这篇文章主要介绍了MySQL开启远程连接权限,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Mysql 存在多条数据时如何按时间取最新的那一组数据(思路详解)

    Mysql 存在多条数据时如何按时间取最新的那一组数据(思路详解)

    这篇文章主要介绍了Mysql 存在多条数据时如何按时间取最新的那一组数据,本文给大家分享两种思路结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Mysql数据库之主从分离实例代码

    Mysql数据库之主从分离实例代码

    本篇文章主要介绍了Mysql数据库之主从分离实例代码,MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和相应速度。
    2017-03-03
  • MySQL运维实战使用RPM进行安装部署

    MySQL运维实战使用RPM进行安装部署

    这篇文章主要为大家介绍了MySQL运维实战使用RPM进行安装部署实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论