• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > sqlserver2005 xml字段的读写操作

sqlserver2005 xml字段的读写操作

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了sqlserver2005,xml等相关知识,希望本文的分享对您有所帮助

sqlserver2005 有xml字段了,下面是关于xml字段的相关读写操作

1.创建xml字段
在表xmlTest内创建一个字段,命名_x,设置数据类型为xml。
2.写入xml
insert into xmlTest (_x) values('

item11
item12

')
go
如此再插入一条记录:
insert into xmlTest (_x) values('

item21
item22

')
3.查询数据
3.1 查询字段所有数据
select _x from xmlText
结果如图:

3.2 查询root下面的第一个item节点
select _x.query('root/item[1]')
from xmlTest
结果:

3.3 查询root下面的第一个item节点的值
select _x.value('(root/item)[1]','varchar(50)')
from xmlTest
结果:

3.3 查询root下面的第二个item节点的attr2属性值
select _x.value('(root/item/@attr2)[2]','varchar(50)')
from xmlTest
结果:

3.4 查询表中每条记录的xml字段的item节点值,全部列出来
SELECT t2.c1.value('.','varchar(20)') as items
from xmlTest
cross apply _x.nodes('root/item') as t2(c1)
结果:

3.5 查询表中id=1记录的xml的所有item字段的attr2属性值
SELECT t2.c1.value('@attr2','varchar(20)') as attr2
from xmlTest
cross apply _x.nodes('root/item') as t2(c1)
where id='1'

结果:

3.6 查询id为1的所有节点中attr1属性为a1的第一个匹配节点的attr2属性值

select _x.value('(root/item[@attr1="a1"]/@attr2)[1]','varchar(50)')
from xmlTest where id='1'

结果:

3.7 多表查询

例如:存在另外1个table:t2,其字段xmlid关联表xmlTest,而attr1关联xmlTest的_x字段中的attr1属性值。

查询表xmlTest中id=‘1'记录中_x字段内item节点中attr1为表t2中attr1字段值时,item节点中attr2的属性值

select xmlTest._x.value('(root/item[@attr1=sql:column("t2.attr1")]/@attr2)[1]','varchar(50)') as attr2,t2.attr1
from xmlTest join t2 on t2.xmlid=xmlTest.id
where xmlTest.id='1'

4.修改数据
4.1 修改表中id=1记录的第一个item节点值
UPDATE xmlTest
set _x.modify('replace value of (root/item/text())[1] with "xxxxx"')
where id='1'

select _x.query('root/item[1]') as item1
from xmlTest
结果:

4.2 修改表中id=2记录的第二个item节点的attr2属性值
UPDATE xmlTest
set _x.modify('replace value of (root/item/@attr2)[2] with "2222b"')
where id='2'

select _x.query('root/item[2]') as item1
from xmlTest
结果:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)
  • sqlserver2005自动创建数据表和自动添加某个字段索引
  • SqlServer2005 数据库同步配置图文详解
  • sqlserver2005打造自动备份的维护计划图解教程
  • 关于SQLServer2005的学习笔记 XML的处理
  • sqlserver2005 TSql新功能学习总结(数据类型篇)
  • sqlserver2005 xml字段的读写操作
  • winXP系统安装SQLServer2005开发版具体过程与注意问题
  • sqlserver2005 安装图解教程以及SQL 2005 SP3补丁安装图文教程
  • SQLServer2005 Output子句获取刚插入的ID值

相关文章

  • 2018-12-05索引和FROM_UNIXTIME在mysql中问题详解
  • 2018-12-05Oracle 数据库导出(exp)导入(imp)说明
  • 2018-12-05Oracle 9i轻松取得建表和索引的DDL语句
  • 2018-12-05MySQL性能优化的17个要点
  • 2017-08-07mysql --- union
  • 2017-05-11解析SQLite中的常见问题与总结详解
  • 2018-12-05浅谈mysql可有类似oracle的nvl的函数的详情
  • 2018-12-05MSSQL内外连接(INNER JOIN)语句详解
  • 2017-05-11mysql 数据库备份和还原方法集锦 推荐
  • 2018-12-05MySQL数据类型中DECIMAL的用法实例详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 如何创建SQL Server 2000故障转移群集
    • 优化Oracle停机时间及数据库恢复
    • mysql常用基础操作语法(一)~~对库的操作【命令行模式】
    • MySQL Like语句的使用方法
    • mysql5.7.17安装教程附MySQL服务无法启动的解决方法(图文)
    • mysql使用GROUP BY分组实现取前N条记录的方法_MySQL
    • MySQL什么是预处理技术?预处理技术的使用
    • MYSQL设置触发器权限问题的解决方法
    • mysql高级联结-使用表别名和使用联结条件
    • SQL Server存储过程的基础说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有