使用mysql命令导出文本文件

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 文件









请使用浏览器的分享功能分享到微信等