网站大量收购闲置独家精品文档,联系QQ:2885784924

大型数据库第二章.ppt

  1. 1、本文档共137页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大型数据库第二章要点

(3)top子句 用于指定将更新的行数或百分比。 例:使用top更新记录。只更新前10%的记录。 update top(10) percent sc set grade=grade+10 where grade60 * 第*页 四、数据导入导出 使用SQL Server2008导入导出向导可以在不同数据源之间进行数据的导入导出操作。 方法:选中你要导入导出的数据库,然后再右键菜单中选中“任务”→“导出数据”。 * 第*页 五、PIVOT和UNPIVOT PIVOT和UNPIVOT是从Microsoft SQL Server 2005开始新增的关系运算符,提供了一种把列数据转换为行数据的方式。PIVOT运算符把表达式中某一列中的数据转换为输出中的多个列,UNPIVOT运算符则相反。 * 第*页 1.使用PIVOT实现数据表的列转行 使用PIVOT首先你需要在FROM子句内定义2个表: A.一个称为源表(SourceTable)。 B.另一个称为数据透视表(PivotTable)。 * 第*页 语法: SELECT 未透视的列, [第一个透视列] AS 列别名, [第二个透视列] AS 列别名, ... [最后一个透视列] AS 列别名 FROM ( SELECT查询 ) AS 源表 PIVOT( 聚合函数(列) FOR [需要转换为行的列] IN([第一个透视列],[第二个透视列], ...[最后一个透视列] ) AS 数据透视表 可选的ORDER BY子句; 以上的PIVOT子句内的第1…n个透视列的值均为需要转换为行的列的常量值,需要用[]括起,支持GUID,字符串及各种数字! * 第*页 例1:使用PIVOT查询各系的男女学生人数及总人数 SELECT sdept AS [系别], [男] AS [男生人数], [女] AS [女生人数], [男] + [女] AS [总人数] FROM( SELECT sno,ssex,sdept FROM Student )AS [SourceTable] PIVOT(COUNT(sno) FOR ssex IN ([男],[女])) AS [PivotTable] ORDER BY [总人数] DESC * 第*页 2.Unpivot 使用UNPIVOT实现的功能其实与PIVOT恰恰相反。 语法同PIVOT,但是UNPIVOT的子句没有聚合函数。 * 第*页 例2:使用UNPIVOT查询各系的男女学生人数及总人数,并以列形式显示。 (1)为了验证 unpivot功能,首先生成一个表sdeptcount_sex。 SELECT sdept AS [系别], [男] AS [男生人数], [女] AS [女生人数], [男] + [女] AS [总人数] into sdeptcount_sex FROM( SELECT sno,ssex,sdept FROM Student )AS [SourceTable] PIVOT(COUNT(sno) FOR ssex IN ([男],[女])) AS [PivotTable] ORDER BY [总人数] DESC * 第*页 (2)以列形式显示统计数据。 select 系别,性别,人数 from (select 系别,男生人数,女生人数,总人数 FROM #pivotable) as sourcetable unpivot(人数 for 性别 in(男生人数,女生人数,总人数)) as unpivotable * 第*页 小结 数据库的创建create database 数据库的修改alter database 数据查询的高级技巧 数据更新的高级技巧 Pivot和unpivot的用法 * 第*页 注意: 在创建分区表前,最好先创建数据库文件组,虽然可以通过直接使用PRIMARY文件组而省略该步,但为了方便管理,最好还是先创建几个文件组,这样就可以将不同的小表放在不同的文件组中。这样做一方面便于理解,另一方面还可以提高运行速度。 * 第*页 2.创建分区函数 语法: CREATE PARTITION FUNCTION partition_funciton_name(input_parameter_type) AS RANGE[LEFT|RIGHT] FOR VALUES([boundary_value[,…n]]) [;] 参数含义: partition_function_name:分区函数的名称。分区函数名称在数据库内必须唯一,并且符合标识符的规则。 * 第*页 CREATE PAR

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档