因胸联盟 发表于 2015-1-16 22:15:34

MYSQL网站制作之SQLServer XML查询18句话进门教程

业界普遍的声音认为:“MySQL是一个可靠的数据库系统,MySQL学习教程无论是在嵌入式或大型群集系统的部署中,还是在基于Web的应用程序领域。复制代码代码以下:
/*01.
02.sqlxml进门:
03.--byjinjazz
04.--http://blog.csdn.net/jinjazz
05.
06.1、xml:能熟悉元素、属性和值
07.
08.2、xpath:寻址言语,相似windows目次的查找(没用过dir命令的话就往面壁)
09.
10.语法格局,这些语法能够组合为前提:
11."."暗示本人,".."暗示父亲,"/"暗示儿子,"//"暗示儿女,
12."name"暗示按名字查找,"@name"暗示按属性查找
13.
14."汇合[前提]"暗示依据前提取汇合的子集,前提能够是
15.数值:数字,last(),last()-数字等
16.布尔值:position()<数字,@name=前提,name=前提
17.前提是布尔值的时分能够兼并盘算:andor
18.
19.3、xquery:基于xpath标的准查询言语,sqlserverxquery包括以下函数
20.exist(xpath前提):前往布尔值暗示节点是不是存在
21.query(xpath前提):前往由切合前提的节点构成的新的xml文档
22.value(xpath前提,数据范例):前往指定的标量值,xpath前提了局必需独一
23.nodes(xpath前提):前往由切合前提的节点构成的一行一列的了局表
24.*/

复制代码代码以下:
declare@dataxml
set@data=
<bookstore>
<bookcategory="COOKING">
<titlelang="en">EverydayItalian</title>
<author>GiadaDeLaurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<bookcategory="CHILDREN">
<titlelang="jp">HarryPotter</title>
<author>JK.Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<bookcategory="WEB">
<titlelang="en">XQueryKickStart</title>
<author>JamesMcGovern</author>
<author>PerBothner</author>
<author>KurtCagle</author>
<author>JamesLinn</author>
<author>VaidyanathanNagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<bookcategory="WEB">
<titlelang="cn">LearningXML</title>
<author>ErikT.Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>


--测试语句,假如不睬解语法请参考下面的xpath划定规矩和xquery函数申明

--1、文档
select@data
--2、恣意级别是不是存在price节点
select@data.exist(//price)
--3、猎取一切book节点
select@data.query(//book)
--4、猎取一切包括lang属性的节点
select@data.query(//*[@lang])
--5、猎取第一个book节点
select@data.query(//book)
--6、猎取前两个book节点
select@data.query(//book)
--7、猎取最初一个book节点
select@data.query(//book)
--8、猎取price>35的一切book节点
select@data.query(//book)
--9、猎取category="WEB"的一切book节点
select@data.query(//book[@category="WEB"])
--10、猎取title的lang="en"的一切book节点
select@data.query(//book/title[@lang="en"])
--11、猎取title的lang="en"且price>35的一切book节点
select@data.query(//book[./title[@lang="en"]orprice>35])
--12、猎取title的lang="en"且price>35的第一book的(第一个)title
select@data.query(//book[./title[@lang="en"]andprice>35]).value((book/title),varchar(max))
--13、等价于12
select@data.value((//book[./title[@lang="en"]andprice>35]/title),varchar(max))
--14、猎取title的lang="en"且price>35的第一book的(第一个)title的lang属性
select@data.value(((//book[@category="WEB"andprice>35]/title)/@lang),varchar(max))
--15、猎取第一本书的title
selectTab.Col.value((book/title),varchar(max))astitle
from@data.nodes(bookstore)asTab(Col)
--16、猎取每本书的第一个author
selectTab.Col.value(author,varchar(max))astitle
from@data.nodes(//book)asTab(Col)
--17、猎取一切book的一切信息
select
T.C.value(title,varchar(max))astitle,
T.C.value(year,int)asyear,
T.C.value(title,varchar(max))astitle,
T.C.value(price,float)asprice,
T.C.value(author,varchar(max))asauthor1,
T.C.value(author,varchar(max))asauthor2,
T.C.value(author,varchar(max))asauthor3,
T.C.value(author,varchar(max))asauthor4
from@data.nodes(//book)asT(C)
--18、猎取不是日语(lang!="jp")且代价年夜于35的书的一切信息
select
T.C.value(title,varchar(max))astitle,
T.C.value(year,int)asyear,
T.C.value(title,varchar(max))astitle,
T.C.value(price,float)asprice,
T.C.value(author,varchar(max))asauthor1,
T.C.value(author,varchar(max))asauthor2,
T.C.value(author,varchar(max))asauthor3,
T.C.value(author,varchar(max))asauthor4
from@data.nodes(//book[./title[@lang!="jp"]andprice>35])asT(C)如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。然而,如果你的项目不是在GPL协议下的话,你必须为使用MySQL来支付许可费用,或者你可能因为这个因素而将你的项目改为遵循GPL。

仓酷云 发表于 2015-1-19 06:17:35

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

只想知道 发表于 2015-1-24 18:35:33

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

冷月葬花魂 发表于 2015-2-2 11:50:13

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

第二个灵魂 发表于 2015-2-7 19:56:58

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

小女巫 发表于 2015-2-23 09:44:54

可以动态传入参数,省却了动态SQL的拼写。

深爱那片海 发表于 2015-3-7 07:15:41

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

灵魂腐蚀 发表于 2015-3-14 15:27:29

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

谁可相欹 发表于 2015-3-21 11:57:43

大家注意一点。如下面的例子:
页: [1]
查看完整版本: MYSQL网站制作之SQLServer XML查询18句话进门教程