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,一经查实,立即删除!

相关文章

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

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

mysql 密码sha256_MySQL5.6启用sha256_password插件

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

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

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

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,错误…

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

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

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

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

opencv配置_Opencv在vs2012下的配置

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

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…

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

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

python图像增强_Python图像的增强处理操作示例【基于ImageEnhance类】

本文实例讲述了Python图像的增强处理操作。分享给大家供大家参考,具体如下: python中PIL模块中有一个叫做ImageEnhance的类,该类专门用于图像的增强处理,不仅可以增强(或减弱)图像的亮度、对比度、色度&…

python 二项分布_二项分布的理论基础、应用及Python实践

二项分布是概率统计中非常基础、非常实用的一种分布,可以说它在我们的生活中无所不在。它说明了这样一种现象:在给定的试验次数中,某一结果会发生多少次。比如:这个月有多少天会刮北风?今年有多少天会下雨?…

python网络爬虫_python小知识,基于Python 的网络爬虫技术分析

在现阶段大数据的时代中,想要实现对数据的获取和分析,要先具备足够的数据源,网络爬虫技术就为其数据获取提供了良好的条件,且还能够实现对数据源的目的性采集。在网络爬虫技术应用中,Python 脚本语言的使用十分广泛&am…

maven 整体打包_Spirng boot maven多模块打包不踩坑(示例代码)

本文参考 https://blog.csdn.net/Ser_Bad/article/details/78433340经过实战一次通过。回话不多说,话费不多说,直接上图。项目整体结构:父模块:xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocatio…

使用mysql制作学生成绩单_【实例讲解】快速制作学生成绩单

本文由网友潇之骥授权原创直发今天有位学校的老师找我给她作学生成绩单,给的数据如图1:(图1)需要的效果如下:(图2)讲解:要实现这种效果,只要用【邮件合并】这个功能就可以轻松搞定。要用好【邮件合并】这个功能&#x…

c语言 判断一个图是否全连通_基于云平台的全链路大规模网络连通性检测系统详解...

虚拟网络排查问题困难,传统的traceroute等工具很难起到太大作用,大部分情况下都需要到宿主机、混合云网关上抓包来troubleshooting,耗时又费力。有些场景中包的传送路径比较长(如跨域、混合云等),可能丢包的地方比较多&#xff0c…

java对接华为推送服务_华为HMS Core 4.0版本即将来袭:包含新推送服务

据官方消息,在12月27日的HUAWEI Developer Groups(简称HDG)大连活动上,华为消费者云服务HMS运营经理透露HMS Core 4.0版本即将上线,由原来的14项增加至24项核心开放功能,近日即将开放新版本众测,不久之后开发者们将会体…

python xml etree_python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用...

1、解析速度:ElementTree在 Python 标准库中有两种实现。一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.cElementTree 。你要记住: 尽量使用 C 语言实现的那种,因为它速度更快,而…