JEE Study|JAVA EE|企业级开发学习网

标题: MySQL8.0大师之路:第9章:MySQL教程-9.7 MySQL批处理模式 [打印本页]

作者: JeeStudy    时间: 2020-4-4 19:24
标题: MySQL8.0大师之路:第9章:MySQL教程-9.7 MySQL批处理模式
1.在前一节中,您以交互方式使用mysql输入语句并查看结果。您也可以以批处理模式运行mysql。为此,将要运行的语句放在文件中,然后告诉mysql从文件中读取其输入:
[root@CentOS8 angel]# mysql -p school < 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


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


2.这里selectAll.sql 文件内容如下:
[root@CentOS8 angel]# cat selectAll.sql                                
select * from student;


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


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




4.注意:这里如果被执行的批处理文件中包含特殊字符需要用下面的语句执行:
[root@CentOS8 angel]# mysql -p  school -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 选项来 输出更多的信息:
[root@CentOS8 angel]# mysql -v -p school < selectAll.sql


6.在执行语句的时候,可以使用 --xml 或 -X 选项来将数据输出到xml文件中:
[root@CentOS8 angel]# mysql --xml -p school < selectAll.sql
或者直接将结果输出到文件中:
[root@CentOS8 angel]# mysql --xml -p school < selectAll.sql >./data.xml
[root@CentOS8 angel]# 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















欢迎光临 JEE Study|JAVA EE|企业级开发学习网 (http://jeestudy.com/) Powered by Discuz! X3.2