博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql导出和导入xml文件实例
阅读量:2171 次
发布时间:2019-05-01

本文共 3255 字,大约阅读时间需要 10 分钟。

from: http://wenku.baidu.com/link?url=Iwr112wEjDzZbtSSn1EZkiZqH34vkjHtdAfZE9ntNQ9sAWf5G2Gaazu9VAEmzZGn15OnyYeNtwvM2HAShaNU7SjGZUbmfHqKcmLVTJ1xpf_

1,输出数据库版本变量为xml格式

Shell> mysql -X -uroot -proot -e "use test; show variables like '%version%';"
参数X表示生成xml格式的输出 , 参数e表示执行后面的命令
<?xml version="1.0"?>
<resultset statement="show variables like '%version%'">
<row>
<field name="Variable_name">protocol_version</field>
<field name="Value">10</field>
</row>
<row>
<field name="Variable_name">version</field>
<field name="Value">5.0.22-community-nt-log</field>
</row>
<row>
<field name="Variable_name">version_comment</field>
<field name="Value">MySQL Community Edition (GPL)</field>
</row>
<row>
<field name="Variable_name">version_compile_machine</field>
<field name="Value">ia32</field>
</row>
<row>
<field name="Variable_name">version_compile_os</field>
<field name="Value">Win32</field>
</row>
</resultset>
my test:
mysql -u ccc bank -e "select * from person;"
mysql -X -u ccc bank -e "select * from person;"
*********************************************************************
2,导出表数据到xml文件
Shell> mysql -X -uroot -proot -e "use test; select * from test;" > ./a.xml
Shell> more a.xml
<?xml version="1.0"?>
<resultset statement="select * from test">
<row>
<field name="id">111</field>
</row>
<row>
<field name="id">10</field>
</row>
<row>
<field name="id">1</field>
</row>
<row>
<field name="id">110</field>
</row>
</resultset>
my test:
mysql -u ccc bank -e "select * from person;" > ./mysql_noxml.txt
mysql -X -u ccc bank -e "select * from person;" > ./mysql_xml.xml
*********************************************************************
3,换一种方式导出表结构和内容,其中第一个db_name是数据库名,第二个test是表名
Shell> mysqldump --xml -uroot -proot db_name test
<?xml version="1.0"?>
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="db_name">
<table_structure name="test">
<field Field="id" Type="int(11)" Null="YES" Key="" Extra="" />
<options Name="test" Engine="InnoDB" Version="10" Row_format="Compact" Rows="4" Avg_row_length="4096" Data_length="16384" Max_data_length="0" Index_length="0" Data_free="0" Create_time
="2008-09-04 02:45:12" Collation="utf8_general_ci" Create_options="" Comment="InnoDB free: 11264 kB" />
</table_structure>
<table_data name="test">
<row>
<field name="id">111</field>
</row>
<row>
<field name="id">10</field>
</row>
<row>
<field name="id">1</field>
</row>
<row>
<field name="id">110</field>
</row>
</table_data>
</database>
</mysqldump>
my tests:
Shell> mysqldump --xml -u ccc bank person
*********************************************************************
4,导入xml文件的内容到数据库表,这里主要用到了load_file()函数
mysql> create table xmlt(
-> id int ,
-> doc blob
-> );
mysql> insert into xmlt values(1,load_file('/home/a.xml') );
mysql> select * from xmlt;
+------+--------------------------------------
----------------------------------------------
| id | doc
+------+--------------------------------------
----------------------------------------------
| 1 | <?xml version="1.0"?>
<resultset statement="select * from test">
<row>
<field name="id">111</field>
</row>
<row>
<field name="id">10</field>
</row>
<row>
<field name="id">1</field>
</row>
<row>
<field name="id">110</field>
</row>
</resultset>
后记:由此类推还可以使用存储过程的方式将xml数据导入和导出

转载地址:http://vbqzb.baihongyu.com/

你可能感兴趣的文章
深入理解JVM虚拟机3:垃圾回收器详解
查看>>
深入理解JVM虚拟机4:Java class介绍与解析实践
查看>>
深入理解JVM虚拟机5:虚拟机字节码执行引擎
查看>>
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机11:Java内存异常原理与实践
查看>>
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>
深入理解JVM虚拟机13:再谈四种引用及GC实践
查看>>
Spring源码剖析1:Spring概述
查看>>
Spring源码剖析2:初探Spring IOC核心流程
查看>>
Spring源码剖析3:Spring IOC容器的加载过程
查看>>
Spring源码剖析4:懒加载的单例Bean获取过程分析
查看>>
Spring源码剖析5:JDK和cglib动态代理原理详解
查看>>
Spring源码剖析6:Spring AOP概述
查看>>
Spring源码剖析7:AOP实现原理详解
查看>>
Spring源码剖析8:Spring事务概述
查看>>
Spring源码剖析9:Spring事务源码剖析
查看>>
重新学习Mysql数据库1:无废话MySQL入门
查看>>