SQLServer XML类型
2022/5/31 2:21:14
本文主要是介绍SQLServer XML类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SQLServer XML类型SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用。一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择。
1、创建测试数据
创建表
--创建表,包含Xml类型列 CREATE TABLE Person ( Id int, Info xml )
插入测试数据
--插入3条测试数据 INSERT Person VALUES(1,'<Person><ID>1</ID><Name>刘备</Name></Person>') INSERT Person VALUES(2,'<Person><ID>2</ID><Name>关羽</Name></Person>') INSERT Person VALUES(3,'<Person><ID>3</ID><Name>张飞</Name></Person>')
2、查询节点内容
query()方法
--查询节点内容query()方法 SELECT Id,Info.query('(/Person/Name)[1]') FROM Person WHERE ID = 2
3、查询值
value()方法
--查询值value()方法 SELECT Id,Info.value('(/Person/Name)[1]','VARCHAR(50)') FROM Person WHERE ID = 2 SELECT * FROM Person WHERE Info.value('(/Person/Name)[1]','VARCHAR(50)') = '张飞'
4、查询是否存在
exist()方法
--查询是否存在 exist()方法 SELECT * FROM Person WHERE Info.exist('(/Person/Name)[1]') = 1
5、查询节点
nodes()方法
--查询节点 SELECT T2.Loc.query('.') FROM Person CROSS APPLY Info.nodes('/Person/Name') as T2(Loc)
6、修改XML
modify()方法
1、增加节点
--modify(insert)增加节点 UPDATE Person SET Info.modify(' insert <Age>25</Age> into (/Person)[1]' ) WHERE Id = 3
2、删除节点
-- 删除节点内容(xQuery知识,没有text()就直接删除节点) UPDATE Person SET Info.modify(' delete (/Person)[1]/Age/text()' ) where ID = 3
这篇关于SQLServer XML类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-08Docker下的SqlServer发布订阅启用
- 2023-06-05Docker安装MS SQL Server并使用Navicat远程连接
- 2023-05-25深入浅出 SQL Server CDC 数据同步
- 2023-05-12通过空间占用和执行计划了解SQL Server的行存储索引
- 2023-04-24以SQLserver为例的Dapper详细讲解
- 2022-11-30SQL server高级函数查询
- 2022-11-26SQL SERVER数据库服务器CPU不能全部利用原因分析
- 2022-11-21SQL Server 时间算差值/常用函数
- 2022-11-20调试Archery连接SQL Server提示驱动错误
- 2022-10-22SQL Server 完整、差异备份+完整、差异还原(详细讲解,规避错误)