三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

MySQL数据库查询设置XML的经验分享

时间:2023-4-8作者:未知来源:三度网教程人气:


SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
mysql里面有内置的操作xml的函数。分别是ExtractValue()和UpdateXML()函数。

语法:

EXTRACTVALUE (fiedname, XPathstring);

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

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

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

1.首先我们创建一个测试的表。

CREATE TABLE `testtable` ( `testxml` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1

1816.png

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

1817.png

3.我们首先使用EXTRACTVALUE函数查出名字为张三节点内容。可以在下面的输出框看见我们找到的张三节点内容,xpath格式如下

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

1818.png

4.现在我们有查询class节点下所有name节点的值。

extractvalue(testxml,'/Student/Class/Name'

1819.png

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

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'), Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename') ,把zhangsan节点内容换为updatename。

1820.png

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

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

1821.png

7.使用Update语句更新数据库内容。

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

1822.png

1823.png

注意事项

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

以上就是MySQL数据库查询操作XML的经验分享的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

关键词:  MySQL数据库查询设置XML的经验分享





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版