mysql 是一个功能丰富的工具命令,使用它们还可以在命令行模式下执行SQL 指令,将查询结果导入文本文件中。相比mysqldump ,mysql 工具导出的结果具有更强的可读性。
如果MySQL 服务器是单独的机器,用户是在一个客户端上进行操作,要把数据结果导入客户端上。
使用mysql 导出数据文本文件的基本语法格式如下:
mysql -u root -p --execute= "SELECT语句" dbname > filename.txt
该命令使用--execute 选项,表示执行该选项后面的语句并退出,后面的语句必须用双引号引起来;dbname 为要导出的数据库名称;导出的文件中不同列之间使用制表符分隔,第1 行包含了各个字段的名称。
【例 11.15 】 使用mysql 命令,将test_db 数据库中的person 表中的记录导出到文本文件,SQL 语句如下:
mysql -u root -p --execute="SELECT * FROM person;" test_db > D:\person3.txt
语句执行完毕之后,系统D 盘目录下面将会有名称为“person3.txt ”的文本文件,其内容如下:
id name age info 1 Green 21 Lawyer 2 Suse 22 dancer 3 Mary 24 Musician 4 Willam 20 sports man 5 Laura 25 NULL 6 Evans 27 secretary 7 Dale 22 cook 8 Edison 28 singer 9 Harry 21 magician 10 Harriet 19 pianist
可以看到,person3.txt 文件中包含了每个字段的名称和各条记录,该显示格式与MySQL 命令行下SELECT 查询结果的显示格式相同。
使用mysql 命令还可以指定查询结果的显示格式,如果某条记录的字段很多,可能一行不能完全显示,可以使用--vartical 参数将每条记录分为多行显示。
【例 11.16 】 使用mysql 命令将test_db 数据库中的person 表中的记录导出到文本文件,使用--vertical 参数显示结果,SQL 语句如下:
mysql -u root -p --vertical --execute="SELECT * FROM person;" test _db > D:\person4.txt
语句执行之后, D:\person4.txt 文件中的内容如下:
*** 1. row *** id: 1 name: Green age: 21 info: Lawyer *** 2. row *** id: 2 name: Suse age: 22 info: dancer *** 3. row *** id: 3 name: Mary age: 24 info: Musician *** 4. row *** id: 4 name: Willam age: 20 info: sports man *** 5. row *** id: 5 name: Laura age: 25 info: NULL *** 6. row *** id: 6 name: Evans age: 27 info: secretary *** 7. row *** id: 7 name: Dale age: 22 info: cook *** 8. row *** id: 8 name: Edison age: 28 info: singer *** 9. row *** id: 9 name: Harry age: 21 info: magician *** 10. row *** id: 10 name: Harriet age: 19 info: pianist
可以看到,SELECT 的查询结果导出到文本文件之后,显示格式发生了变化,如果person 表中的记录内容很长,这样显示会让人更加容易阅读。
mysql 还可以将查询结果导出到html 文件中,使用--html 选项即可。
【例 11.17 】 使用MySQL 命令将test_db 数据库中的person 表中的记录导出到html 文件,SQL 语句如下:
mysql -u root -p --html --execute="SELECT * FROM person;" test _db > D:\person5.html
语句执行成功,将在 D 盘创建文件 person5.html ,该文件在浏览器中的显示效果如图 11.2 所示。
如果要将表数据导出到xml 文件中,可使用--xml 选项。
【例 11.18 】 使用mysql 命令将test_db 数据库中的person 表中的记录导出到xml 文件,SQL 语句如下:
mysql -u root -p --xml --execute="SELECT * FROM person;" test _db >D:\person6.xml
语句执行成功,将在 D 盘创建文件 person6.xml ,该文件在浏览器中的显示效果如图 11.3 所示。
图 11.2 使用 mysql 命令导出数据到 html 文件
图 11.3 使用 mysql 命令导出数据到 xml 文件
