mysql查询返回xml格式_MySQL数据库查询操作XML的经验分享

mysql里面有内置的操作xml的函数。分别是ExtractValue()和UpdateXML()函数。

语法:1EXTRACTVALUE (fiedname, XPathstring);

第一个参数:fiedname是String格式,为表中的字段名第二个参数:XPathstring (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。作用:从目标XML中返回包含所查询值的字符串

UPDATEXML (fiedname, XPathstring, new_value);第一个参数:fiedname是String格式,为表中的字段名第二个参数:XPathstring (Xpath格式的字符串)

第三个参数:new_value,String格式,替换查找到的符合条件的数据 作用:改变文档中符合条件的节点的值

相关mysql视频教程推荐:《mysql教程》

1.首先我们创建一个测试的表。1CREATE TABLE `testtable` (   `testxml` text ) ENGINE=InnoDBDEFAULT CHARSET=latin1

161200222_1_20190515111702129.png

2.然后为测试表添加一条记录。记录为xml格式。

161200222_2_20190515111702332.png

3.我们首先使用EXTRACTVALUE函数查出名字为张三节点内容。可以在下面的输出框看见我们找到的张三节点内容,xpath格式如下1extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'

161200222_3_20190515111702473.png

4.现在我们有查询class节点下所有name节点的值。1extractvalue(testxml,'/Student/Class/Name'

161200222_4_20190515111702567.png

5.接下来我们用updatexml函数来改变xml的节点内容。1

2

3extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),

Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')

,把zhangsan节点内容换为updatename。

161200222_5_20190515111702660.png

6.从上面的结果中看到xml结构在我们使用updatexml后,少了一个name节点。我们只需要替换时把更新值加上节点即可。1

2extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),

Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')

161200222_6_20190515111702754.png

7.使用Update语句更新数据库内容。1UPDATE testtableSET testxml=  Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')

161200222_7_20190515111702863.png

161200222_8_20190515111702973.png

注意事项

使用UpdateXml我们只是改变了查出字段的内容,并没有更新数据库,如果你需要更新数据库,需要用update语句更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DOM解析原理

DOM解析原理 关键字: xml w3c dom属性和方法用于处理XML文档的DOM元素属性 属性名 描述 childNodes 返回当前元素所有子元素的数组 firstChild 返回当前元素的第一个下级子元素 lastChild 返回当前元素的最后一个子元素 nextSibling 返回紧跟在当前元素后面的元素 no…

wordpress发布模块_如何用WordPress打造出一个类似知乎的问答站点

像打造一个像知乎这样的在线问答社区吗?问答网站非常有意思,而且用户活跃度也高,有很多非常有用的信息。在这篇文章中,我们将向你展示如何在没有任何编程经验的情况下利用WordPress快速打造一个问答类网站。你可以将整个网站做成问…

mysql 密码sha256_MySQL5.6启用sha256_password插件

一、背景:使用MySQL5.6过程中,发现默认的加密插件为mysql_native_password。而sha256_password的安全程度要比mysql_native_password高,尝试切换为sha256_password。二、配置过程:资料:1、从MySQL官网查询到服务器端sh…

Windows 窗体启动和关闭的事件顺序

对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要。当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运行时的确切引发顺序。本文提供了一些有关在应用…

ftp无法连接虚拟机_一步步编写操作系统4 安装x86虚拟机 bochs

本节内容摘自《操作系统真象还原》,请大家支持正版Bochs下载安装在完成了linux发行版的安装后,现在到了安装bochs的环节,这是我们的操作系统最终的宿主机。由于我的工作是运维,所以练就了任何软件包都要从源码安装的“陋习”&…

accsess转成mysql语句_access数据库转mysql经验分享

ACCESS数据库转换MYSQL数据库的软件1.0版一、 软件介绍:DB2MYSQL是一个可以自动将ACCESS数据库文件转化为对应的SQL代码的软件。可广泛应用于ACCESS数据库转换为MYSQL或其他类型的SQL数据库的软件。DB2MYSQL能够实现可视化操作数据库,转换界面非常简单明…

Using .NET C# LDAP Library(Novell.Directory.Ldap)

说明在这里 http://www.novell.com/coolsolutions/feature/11204.html 此Library需要的Mono.Security.dll 转载于:https://www.cnblogs.com/wingfay/archive/2009/02/05/1384585.html

python语言用什么关键字来声明一个类_Python语言和标准库(第三章:类和对象)...

python如何将函数和数据整合在一起,并且通过一个对象的名称访问它们。 如何和为什么使用类与对象,以及他们如何使编程人员易于多种情形下编写和使用程序。 3.1考虑编程 现在要在python中创建一个对对象的描述,您已有足够的只是获得两个视图。…

mysql主从1594错误_3分钟解决MySQL主从1594错误

3分钟解决MySQL主从1594错误简介Part1:写在最前1594这个错误看起来挺严重的,会提示你binlog文件或者Relay log损坏了,例如binary log is corrupted、relay log is corrupted之类的看起来很吓人是吧,多数是由于掉电引发的,这也说明了机房配备U…

ci框架 mysql 超时时间_mysql 字符集和校验规则( CHARSET amp; COLLATE)

我们首先看下常见建表语句:mallAllGoodsCREATE TABLE qywl.mallAllGoods ( id varchar(64) NOT NULL COMMENT 主键id,userId varchar(64) NOT NULL DEFAULT COMMENT 发布人id,storeId varchar(64) NOT NULL DEFAULT COMMENT 发布商号id,data varchar(1000) NOT NU…

SQL 附加数据库时出现 无法打开物理文件错误

错误信息: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------ 无法打开物理文件 "D:\SqlDataBase\Test.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误…

ehcache mysql_mybatis的ehcache缓存

1,几点说明:1、对于包的说明:ehcache-core-2.6.9.jarmybatis-ehcache-1.0.3.jarslf4j-api-2.2.jarslf4j-log4j12-2.2.jar2、对于自动加载ehcache.xml的说明:此版本的ehcache会自动到classpath下去找ehcache.xml,命名也…

Flash网页游戏辅助工具制作简析

《热血三国》好像是比较热,玩的人也挺多的,年前一个朋友希望能让我写一个这个游戏的外挂,也出于无聊,所以去玩了一下,谁知道一玩就有点喜欢这个游戏了,当然玩归玩,东西还是要做地,当…

sqlserver2008导出mysql_SQLserver 2008将数据导出到Sql脚本文件的方法

请看下面的操作图解。1.使用Sql Server Management Studio 2008 连接数据库。2.选中要导出数据的数据库节点,点鼠标右键,在菜单中选择“任务”->“生成脚本”,如图:3。在弹出的界面中,点2次“下一步”进入如图界面中…

opencv配置_Opencv在vs2012下的配置

别问我为什么记录这么老的版本,问就是因为老师推荐和因为怕自己再次把小米的搜索框给忘记了,又找个好几十分钟的【环境变量】。另外,要敲敲自己的脑袋,作为小米电脑的老用户怎么可以把搜索框给忘记了呢?第一步&#xf…

谈谈C#的私有成员的一个有趣的现象!

大家都知道,一个类的私有成员只能在他的内部访问! 但是不知道大家注意到没有,实际上在C#中一个类的实例是可以访问同一个类的另外一个实例的私有成员的。 请看这段简单的代码 public class MyClass { private int i 0; …

mysql mydumper_MySQL 之mydumper安装详解

方法二:安装1 安装依赖包yum -y install glib2-devel mysql-devel zlib-devel pcre-devel cmake gcc-c git12 下载安装文件cd /usr/MyWorkSpace/git clone https://github.com/maxbube/mydumper.gitcd mydumper//注意下面包含.cmake .make && make install[…

php7安装mysqli扩展_Ubuntu14版本下无法使用php7.2版本的bcmath扩展

在使用如下命令安装bcmath扩展的时候sudo apt-add-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get install php7.2-bcmath提示如下信息Reading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate packag…

Gridview一次更新所有记录

通常,我们在做Gridview更新时,都是每一笔单独更新。或是把记录选择之后,导向另外一页去做更新。 下面的Demo是实现一次性更新所有的记录。 视频文档:.wmv;大小:22,062KB;长度:00:17:48 下载地址:http://download.cnblogs.com/insus/ASPDOTNET…

input 0.1无法相加_你真的知道0.1+0.2为何不等于0.3吗?

打开chrome控制台,给一个特别简单的输入如下:0.1 0.2 // 0.30000000000000004 复制代码不知道你有没有吃惊,这么简单的一个计算,无论在js中还是在python中,都不是准确的0.3,这是为什么呢?缘起要…