以前一直用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脚本的完整路径即可。