Mysql中运行SQL脚本

本文介绍在MySQL中执行SQL脚本的方法,包括通过mysqldump导入数据和使用source命令执行本地脚本文件两种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前一直用SQLserver ,执行SQL脚本,我们一般在查询分析器中直接打开脚本文件执行即可。

 

最近学习《Mysql完全手册》(Vikram Vaswani著,原名:The complete Reference),也没找到书中关于如何在客户端中执行SQL脚本的,也许有,但我没看到。 遂查阅Google大神,获得相关方法,故记录下来,备查。

 

也算上是开始真正学习MYSQL数据库的第一篇日志,哈哈。。。

 

假定数据库中我们已经使用create database test;  创建了一个名为Test 的数据库。

 

同时使用如下语句建立了一个名为sysAccount的表.

create table sysaccount (userid varchar(20),name varchar(20),password varchar(30))

 

 

假定Mysql的root 账户的密码也为root.

 

同时假定有个名为InsertTest.sql的脚本文件保存在 D:\Mysql-study\目录中,脚本内容如下:

insert into sysaccount (userid,name,password) values ('lxq002','luoxianqiao','88888888')

 

 

开启Mysql服务的情况下(废话,不开启能用吗?呵呵),然后在终端中执行如下命令:

>mysql -uroot -proot

连接Mysql成功后

 

mysql>use test;

mysql>select * from sysaccount;

 

结果如下:

+----------+-------------+----------+
| userid   | name        | password |
+----------+-------------+----------+
| admin    | admin       | admin    |
| guest    | guest       | guest    |
| testrole |             | testrole |
| laurence | laurence    | 8438932  |
| jzinfo   |             | 8438932  |
+----------+-------------+----------+

 

mysql>source D:/mysql-study/InsertTest.sql    //这里是关键,执行脚本文件中的SQL语句

 

执行成功后,查看数据库记录:

 

+----------+-------------+----------+
| userid   | name        | password |
+----------+-------------+----------+
| admin    | admin       | admin    |
| guest    | guest       | guest    |
| testrole |             | testrole |
| laurence | laurence    | 8438882  |
| jzinfo   |             | 8438932  |
| lxq002   | luoxianqiao | 88888888 |
----------+-------------+----------+

 

 

另外一种方法是直接在命令提示符中直接运行:

> mysql -uroot -proot test <D:/Mysql-study/insertTest.sql    //第二种方法

 

-uroot -proot 表示登录数据库的用户名和密码分别都是root,后面跟随的test表示 数据库名, 然后接上 sql脚本的完整路径即可。

 

 

 

### 如何在 MySQL 中执行 SQL 脚本文件 #### 使用 `source` 命令 可以在 MySQL 客户端中通过 `source` 命令来加载并执行 SQL 脚本文件。例如: ```sql Mysql> source 【sql 脚本文件的路径全名】; ``` 或者可以使用缩写的句点命令 `.`, 后面跟上完整的路径名称[^1]。 ```sql Mysql> . 【sql 脚本文件的路径全名】; ``` 对于 Windows 用户来说,如果要运行位于 F:\ 下名为 a.sql脚本,则输入如下语句: ```sql Mysql> source f:/a.sql; ``` #### 多个 SQL 脚本批量执行 为了简化多条命令的操作流程,可以通过创建一个新的 SQL 文件 c.sql 来依次调用其他的 SQL 文件。比如有 a.sql 和 b.sql 存在于 F 盘根目录下,在 c.sql 中加入以下内容即可实现连续执行两个独立编写的程序[^2]: ```sql SOURCE f:/a.sql ; SOURCE f:/b.sql ; ``` #### 创建批处理文件 (.bat) 自动化操作过程 当希望进一步自动化整个数据库更新的过程时,还可以编写一个简单的批处理(.bat)文件用于启动服务前后的环境准备以及清理工作。下面是一个基本模板,其中包含了检查 MySQL 服务器状态的功能[^3]: ```batchfile @echo off :: Check if the MySQL service is running. tasklist /NH | findstr /I "mysqld.exe" > nul && goto :okScript || echo Service not found! :okScript "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root -p < "F:\c.sql" pause exit ``` 此 bat 文件会先确认 mysqld 是否正在运行;如果是的话就继续下一步骤——即利用 mysql 实用工具读取来自指定位置 (这里指代的是 F:\c.sql ) 的指令集,并按顺序逐行解析直至结束为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值