JeeStudy 发表于 2020-4-4 19:24:26

MySQL8.0大师之路:第9章:MySQL教程-9.7 MySQL批处理模式

1.在前一节中,您以交互方式使用mysql输入语句并查看结果。您也可以以批处理模式运行mysql。为此,将要运行的语句放在文件中,然后告诉mysql从文件中读取其输入:
# mysql -p school < selectAll.sql
Enter password:
id      name    birth
1       zhangsan      1997-01-01
2       lisi    2008-09-10
3       wangwu1919-05-01
4       zhaoliu 2018-08-10
5       ZHOUXINGXING    1956-08-25
6       DASHENG 1919-12-23


说明:
-p:需要数据密码
school:指定在哪个数据库上执行
< selectAll.sql: "< 文件名称"


2.这里selectAll.sql 文件内容如下:
# cat selectAll.sql                              
select * from student;


3.这里也可以把查询结果输出到一个文件:
# mysql -p school < selectAll.sql > ./selectAll.log
Enter password:


说明:输出到文件用 "> 文件名"




4.注意:这里如果被执行的批处理文件中包含特殊字符需要用下面的语句执行:
# mysql -pschool -e "source selectAll.sql"
Enter password:
+------+--------------------+----------------+
| id   | name                | birth             |
+------+--------------------+----------------+
|   1    | zhangsan          | 1997-01-01|
|   2    | lisi                  | 2008-09-10|
|   3    | wangwu            | 1919-05-01|
|   4    | zhaoliu            | 2018-08-10|
|   5    | ZHOUXINGXING | 1956-08-25|
|   6    | DASHENG          | 1919-12-23|
+------+---------------------+----------------+





5.在执行语句的时候,可以使用 -v 选项来 输出更多的信息:
# mysql -v -p school < selectAll.sql


6.在执行语句的时候,可以使用 --xml 或 -X 选项来将数据输出到xml文件中:
# mysql --xml -p school < selectAll.sql
或者直接将结果输出到文件中:
# mysql --xml -p school < selectAll.sql >./data.xml
# cat data.xml
<?xml version="1.0"?>


<resultset statement="select * from student" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
      <field name="id">1</field>
      <field name="name">zhangsan</field>
      <field name="birth">1997-01-01</field>
</row>


<row>
      <field name="id">2</field>
      <field name="name">lisi</field>
      <field name="birth">2008-09-10</field>
</row>


<row>
      <field name="id">3</field>
      <field name="name">wangwu</field>
      <field name="birth">1919-05-01</field>
</row>


<row>
      <field name="id">4</field>
      <field name="name">zhaoliu</field>
      <field name="birth">2018-08-10</field>
</row>


<row>
      <field name="id">5</field>
      <field name="name">ZHOUXINGXING</field>
      <field name="birth">1956-08-25</field>
</row>


<row>
      <field name="id">6</field>
      <field name="name">DASHENG</field>
      <field name="birth">1919-12-23</field>
</row>

</resultset>





7.如果已经登录到服务器也可以用下面这两种方式执行:
mysql> \. selectAll.sql
mysql> source selectAll.sql










页: [1]
查看完整版本: MySQL8.0大师之路:第9章:MySQL教程-9.7 MySQL批处理模式