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
2.然后為測試表添加一條記錄。記錄為xml格式。
3.我們首先使用EXTRACTVALUE函數查出名字為張三節點內容。可以在下面的輸出框看見我們找到的張三節點內容,xpath格式如下1extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'
4.現在我們有查詢class節點下所有name節點的值。1extractvalue(testxml,'/Student/Class/Name'
5.接下來我們用updatexml函數來改變xml的節點內容。1
2
3extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
,把zhangsan節點內容換為updatename。
6.從上面的結果中看到xml結構在我們使用updatexml后,少了一個name節點。我們只需要替換時把更新值加上節點即可。1
2extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
7.使用Update語句更新數據庫內容。1UPDATE testtableSET testxml=? Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
注意事項
使用UpdateXml我們只是改變了查出字段的內容,并沒有更新數據庫,如果你需要更新數據庫,需要用update語句更新
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysql查询返回xml格式_MySQL数据库查询操作XML的经验分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用父类构造函数需要放在第一
- 下一篇: dnf狂战带屠戮和哈尼克之牙效果能叠加吗