Mysql中运行SQL脚本

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

以前一直用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 脚本文件 在 MySQL 命令行中执行 SQL 脚本文件可以通过多种方式实现。以下是具体方法: #### 方法一:使用命令行直接执行 在未登录到 MySQL 的情况下,可以直接通过命令行执行 SQL 脚本文件。命令格式如下: ```bash mysql -h 服务器名称或地址 -u 用户名 -p 数据库名 < 脚本文件路径 ``` 例如,假设需要将 `E:\sources\RuoYi\sql\ry_20190118.sql` 文件中的 SQL 语句应用到名为 `ruoyidb` 的数据库中,可以执行以下命令[^1]: ```bash mysql -u ruoyi -p ruoyidb < E:\sources\RuoYi\sql\ry_20190118.sql ``` #### 方法二:进入 MySQL 控制台后执行 如果已经登录到 MySQL 控制台,可以使用 `source` 命令或简写形式的点号(`.`)来执行 SQL 脚本文件。具体步骤如下: 1. 登录到 MySQL 控制台: ```bash mysql -u 用户名 -p ``` 系统会提示输入密码。 2. 使用 `source` 命令执行脚本文件: ```sql source 脚本文件路径; ``` 或者使用简写形式: ```sql . 脚本文件路径; ``` 例如,假设脚本文件路径为 `D:\product.sql`,可以在 MySQL 控制台中执行以下命令[^2]: ```sql source D:\product.sql; ``` 或者: ```sql . D:\product.sql; ``` #### 方法三:指定服务器信息和脚本路径 如果需要指定服务器地址、端口号等详细信息,可以使用更复杂的命令格式。例如: ```bash mysql -h 服务器地址 -P 端口号 -u 用户名 -p 数据库名 < 脚本文件路径 ``` 例如,假设服务器地址为 `127.0.0.1`,端口号为 `3306`,用户名为 `root`,密码为 `MyPassword`,数据库名为 `mysql`,脚本文件路径为 `/opt/mysql-8.0.32/autoExecute.sql`,可以执行以下命令[^4]: ```bash /opt/mysql-8.0.32/bin/mysql -h127.0.0.1 -P3306 -uroot -pMyPassword -Dmysql < /opt/mysql-8.0.32/autoExecute.sql ``` #### 注意事项 - 确保脚本文件路径正确且具有读取权限。 - 如果脚本文件中包含 `USE database_name;` 语句,则无需在命令中指定数据库名。 - 在 Windows 系统中,路径中的反斜杠(`\`)需要转义为双反斜杠(`\\`),或者使用正斜杠(`/`)替代[^3]。 ```python # 示例代码块(非必要) print("以上是执行 SQL 脚本文件的方法") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值