数据库 查询XML XQuery
XQuery
用来从XML数据类型的字段抽取数据的语言称为XQuery.
举例:
首先,新建一个数据库:
在表中插入数据:
INSERT INTO [XMLStudy].[dbo].[PurchaseOrders]([PurchaseID],[PurchaseOrder])VALUES(2,'<?xml version="1.0" encoding="utf-8" ?> <about><template name="My Style"author="Discuz!NT"createdate = "2008-5-27"ver="2.5"fordntver="2.5"copyright="Copyright 2008 Comsenz Inc." /></about>'
)
GO
INSERT INTO [XMLStudy].[dbo].[PurchaseOrders]([PurchaseID],[PurchaseOrder])VALUES(1,'<about><template name="beijing2008" author="Discuz!NT" createdate="2008-7-2" ver="2.5" fordntver="2.5" copyright="Copyright 2008 Comsenz Inc." /></about>'
)
GO
接下来介绍如何使用 XPath表达式来抽取订单的信息。
SELECT PurchaseOrder.query('/about') as Result from PurchaseOrders
查询结果就是 PurchaseOrder列中 “about”直接的内容。
当然,还可以查询下一个结点的内容:
SELECT PurchaseOrder.query('/about/template') as Result from PurchaseOrders
为了进一步的获取具体的内容,可以使用下面的SQL语句:
SELECT PurchaseOrder.query('/about/template/author/text()') as Result from PurchaseOrders
查询 没有结果,空白!
这个是因为 XML 需要是这个的。
<template name="beijing2008" ><author>Discuz!NT</author><createdate>"2008-7-2" </createdate><ver>"2.5" </ver><fordntver>"2.5"</fordntver><copyright>"Copyright 2008 Comsenz Inc."</copyright> </template>
再次查询:
从上面的语句中可以看到,使用不同的 XPath表达式,获得了XML中不同节点的内容,Xpath指定了查询的路径,其中text()函数是Xpath函数,返回包含在XML元素中的值。
XQUERY还可以结合where 使用!!!
数据库 查询XML XQuery相关推荐
- Xquery 被设计用来查询 XML 数据
http://www.w3school.com.cn/xquery/xquery_intro.asp 解释XQuery最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据 ...
- mysql数据库的xml模糊查询
mysql数据库的xml模糊查询 mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译 正常的是使用%xxxx% ,现在需要使用 concat('%',#{xx ...
- vue后端框架mysql_springboot + vue 前后端结合·数据库查询
springboot + vue 前后端结合·数据库查询 数据库部分: /* Navicat Premium Data Transfer Source Server : localHost Sourc ...
- php tp 查数据库数据一条_PHP自学(六)TP框架进行数据库查询
本来昨天我可以把整个博客写出来的,但是昨天一直纠结怎么查询关系型数据问题,纠结了挺久的,那我现在先告诉大家怎么用TP框架进行简单的数据库查询,等我把TP框架的插叙构造器琢磨透了再来细说 欧克,先上代码 ...
- iBatis.Net(C#)数据库查询
引用请注明http://www.cnblogs.com/13590/archive/2013/03/14/2958735.html 摘要:查询是数据库SQL语言的核心,本文介绍了通过iBatis.N ...
- oracle查询100到200数据,100分数据库查询语句(ORACLE 11g)
100分求一个数据库查询语句(ORACLE 11g) 一张表tabl1 如下: epqname createtime e ...
- 利用C#实现分布式数据库查询
随着传统的数据库.计算机网络和数字通信技术的飞速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注.但由于其开发较为复杂,在一定程度上制约了它的发展.基于此,本 ...
- JdbcTemplate(操作数据库-查询返回对象、查询返回集合)
JdbcTemplate(操作数据库-查询返回对象.查询返回集合) 1.创建数据库 数据库中有三条记录,数据库名为user_db,数据库表为t_book 2.新建实体类: Book类中的每一个属性对应 ...
- JdbcTemplate(操作数据库-查询返回值)
目录 JdbcTemplate(操作数据库-查询返回值) 1.创建数据库 2.创建实体类 3.创建dao层 4.创建service层 5.创建测试类: 6.xml配置 7.测试结果: 8.结构示意: ...
最新文章
- 【TP3.2】路由匹配和规则
- 关于ZIP大文件压缩
- NK.bin和NK.nb0学习
- Error while adding the mapper ‘interface *****类‘ to configuration报错原因
- spark python3.6_在mac上搭建spark+ipython环境
- P5956-[POI2017]Podzielno【数学】
- php7 匿名继承类_PHP7匿名类的用法示例
- 运算符 python
- Linux内存管理:转换后备缓冲区(TLB)原理
- linux通过操作界面和命令行的方式查看ip地址、mac地址
- 《过程控制系统》习题整理
- 14个免费的 GIS 软件:以开源的方式绘制地图
- 易地推拓客分享:内容获客是最稳定的获客方式之一
- 后盾网ThinkPHP教程许愿墙源码及后台管理模版下载
- 根据显卡ID识别显卡型号
- cube配置定时器ETR2模式测频实验
- cad管线交叉怎么画_CAD基础教程,CAD中你知道如何使用CAD角度怎么画吗?快来Get吧...
- 【考研英语】作文只是背模板?正确复习姿势了解下
- htm盒子模型与定位
- python爬虫如何防止IP屏蔽
热门文章
- VMware: linux起步提示 memory for crashkernel(0*0 to 0*0)not within permissible
- Android学习笔记(27):日历视图Calendar
- 通过TextWatcher去观察输入框中输入的内容以及输入字符个数
- HUT-1694 零用钱 贪心
- 线程状态切换之等待队列和同步队列
- SpringCloud config 配置中心集群配置以及整合消息总线BUS实现关联微服务配置自动刷新
- akka balance router的实现
- linux下c 调用python,在Linux下使用python ctypes调用io\u submit
- vs2005 c# mysql_在VS2010中怎样用C#创建数据库联接并执行sql语句 最好举个例子讲一下...
- redis的事务不是原子性