SQL Server 2005 For XML[学习]

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

 

for xml 扩展功能

 

SQL Server 2005 通过 select 语句的 for xml 扩展功能,支持在服务器端以XML 文档的形式返回SQL 查询的结果。

 

语法如下:
select 表1.列名1, 表2.列名2 ...
from 表1,表2
for xml mode

 

其中,mode 指定使用:RAWAUTOEXPLICIT 或 PATH 模式。

(详细内容,查阅MSDN。)

 

创建示例环境:

复制代码
创建表.sql
use  Winform
go

/* ***** 对象:  Table [dbo].[Person]    脚本日期: 04/25/2010 12:56:29 ***** */
create   table   [ dbo ] . [ person ]
(
    
[ no ]   [ int ]   not   null ,
    
[ name ]   [ varchar ] ( 10 not   null ,
    
[ sex ]   [ varchar ] ( 2 not   null ,
    
[ age ]   [ int ]   null ,
    
[ address ]   [ varchar ] ( 50 null ,
 
constraint   [ pk_table_1 ]   primary   key   clustered  
 (
[ no ]   asc )
)
go

/* ***** 对象:  Table [dbo].[grade]    脚本日期: 04/25/2010 12:59:24 ***** */
create   table   [ dbo ] . [ grade ]
(
    
[ gradeid ]   [ int ]   identity ( 1 , 1 not   null ,
    
[ gradename ]   [ varchar ] ( 20 null ,
    
[ remark ]   [ varchar ] ( 20 null ,
    
[ img ]   [ varbinary ] ( max null
)
go

/* ***** 对象:  Table [dbo].[class]    脚本日期: 04/25/2010 13:00:28 ***** */
create   table   [ dbo ] . [ class ]
(
    
[ classid ]   [ int ]   identity ( 1 , 1 not   null ,
    
[ gradeid ]   [ int ]   null ,
    
[ classname ]   [ varchar ] ( 20 null ,
    
[ createdate ]   [ datetime ]   null ,
    
[ img ]   [ varbinary ] ( max null ,
 
constraint   [ pk_class ]   primary   key   clustered  
 (
[ classid ]   asc )

go
复制代码


Demo 代码:

复制代码
SQL 2005 For XML.sql
--  SQL 2005 For XML

use  Winform
go

--  raw : 是以属性的方式显示字段
select   *   from  Person  for  xml  raw

--  排序
select   *   from  Person  order   by  age  for  xml  raw

--  auto : 是将表名(如:Person)作为元素名显示字段
select   *   from  Person  for  xml auto

--  两表联接: 使用auto后将以父子元素的形式显示xml
select  classname,gradename,createdate 
from  class  join  grade
on  grade.gradeid  =  class.gradeid  for  xml auto


--  通过root属性添加根节点
select  classname,gradename,createdate 
from  class  join  grade
on  grade.gradeid  =  class.gradeid 
for  xml auto, root( ' Newer ' )


--  通过elements属性将每个字段都以元素的形式显示
--
 auto关键字将显示层次结构
select  classname,gradename,createdate 
from  class  join  grade
on  grade.gradeid  =  class.gradeid 
for  xml auto,root( ' Newer ' ),elements


--  通过elements属性将每个字段都以元素的形式显示
--
 row关键字将无层次结构
select  classname,gradename,createdate 
from  class  join  grade
on  grade.gradeid  =  class.gradeid 
for  xml  raw ,root( ' Newer ' ),elements


--  通过elements属性将每个字段都以元素的形式显示
--
 path关键字将无层次结构(与row关键字一样),
--
 但无需elements关键字
select  classname,gradename,createdate 
from  class  join  grade
on  grade.gradeid  =  class.gradeid 
for  xml path,root( ' Newer ' )



本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2010/05/08/1730424.html,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
51 1
|
3天前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
4月前
|
XML SQL 数据格式
XML动态sql查询当前时间之前的信息报错
XML动态sql查询当前时间之前的信息报错
58 2
|
1月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
59 2
|
1月前
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
78 14
|
2月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
111 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
2月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
62 1
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
70 1
|
4月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
61 3