14.2 从文件中读取并执行SQL命令
14.2.1 通过MySQL监视器执行编写在文件中的SQL语句
在执行复杂的SQL语句的情况下,我们可以将其创建为文本文件,然后执行保存的文件。
执行包含SQL语句的文本文件
命令格式:SOURCE 文本文件名
在记事本等文本编辑器中事先准备好SQL语句,然后在MySQL监视器上执行SOURCE命令。
如果执行的SQL语句中包含中文,就需要注意作为参数的文本文件的字符编码。使用SOURCE命令执行SQL语句的方式与在MySQL监视器上执行的方式相同,因此在本环境下的文本文件的字符编码必须保存为GBK或GBK的子集GB2312。
练习:在D:\MYSQL文件夹中创建包含“USE DB1;”“SELECT * FROM tb;”和“SELECT * FROM tb1;”这3行语句的文本文件sql.txt,读取并执行该文本文件。
- 在文件夹中创建包含上面3条语句的文本文档
USE DB1;
SELECT * FROM tb;
SELECT * FROM tb1;
- 执行文本文件
输入&执行结果:
mysql> SOURCE D:/MYSQL/sql.txt
Database changed
+-------+-------+-------+
| empid | sales | month |
+-------+-------+-------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+-------+-------+-------+
10 rows in set (0.00 sec)
+-------+------+------+
| empid | name | age |
+-------+------+------+
| A101 | 佐藤 | 40 |
| A102 | 高桥 | 28 |
| A103 | 中川 | 20 |
| A104 | 渡边 | 23 |
| A105 | 西泽 | 35 |
+-------+------+------+
5 rows in set (0.00 sec)
14.2.2 通过命令提示符执行编写在文件中的SQL命令
之前执行SQL命令的时候会先启动MySQL监视器并在mysql>之后输入SQL语句执行。实际上,直接可以通过命令提示符来执行SQL语句。
命令格式:mysql 数据库名 -u 密码 -p密码 -e “命令”;
添加-e选项,然后将后面的命令用双引号括起来,注意不能使用单引号。如果不需要指定数据库名,可以省略,若在文本文件中指定此处命令也可省略。
练习:通过mysql命令执行保