版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、T-SQL & SQL ServerT-SQL & SQL Server数据库开发数据库开发目标n熟悉熟悉SQL Server管理开发环境管理开发环境n理解和运用主要的理解和运用主要的SQL语法语法n能够编写能够编写SQL Server函数和存储过程函数和存储过程n掌握基本的掌握基本的SQL Server数据库开发知识数据库开发知识进度安排共3次课n开发环境、T-SQL介绍nSQL Server编程结构、函数、存储过程n应用开发:Reporting , NotificationSQL Server SQL Server 概述概述nSQL Server 历史nSQL Server
2、 特点nSQL Server 2005 组件结构nSQL Server 2005 开发介绍IntroductionSQL Server 发展历史nnSQL Server 6.0/6.5 - 1995/1996nSQL Server 7.0 - 1998nSQL Server 2000nSQL Server 2005SQL Server 2005 的特性n企业级,集成的数据管理平台n扩展的,高效的编程开发平台n完备的数据仓库和分析平台SQL Server 2005 主要组件SQL Server 2005Relational Database Engine.NET CLRAnalysis Serv
3、icesNative HTTP SupportService BrokerReplicationReporting ServicesFull-Text SearchNotification ServicesSQL Server Integration ServicesSQL Server 2005 组件关系基于基于T-SQL的数据库开发的数据库开发 DML, DDL, DCL T-SQL程序开发:函数, 存储过程等SQL Server开发内容基于基于.Net Framework 的组件开发的组件开发 .Net 存储过程,函数,聚合函数等 应用开发应用开发 Reporting, Notifica
4、tion, Web Service开发等商务智能开发商务智能开发 SSIS Package,SSAS Cube等基于基于T-SQL的数据库开发的数据库开发 DML, DDL, DCL T-SQL程序开发:函数, 存储过程等SQL Server开发内容基于基于.Net Framework 的组件开发的组件开发 .Net 存储过程,函数,聚合函数等 应用开发应用开发 Reporting, Notification, Web Service开发等商务智能开发商务智能开发 SSIS Package,SSAS Cube等进度安排共共3 3次课次课n开发环境、开发环境、T-SQL介绍介绍nSQL Serv
5、er编程结构、函数、存储过程n应用开发:Reporting , Notification本次课程具体安排n开发环境SSMS介绍/实践n基础T-SQL介绍/实践n高级T-SQL介绍/实践nQA & 总结 SQL ServerSQL Server管理开发环境管理开发环境-Management Studio-Management Studio介绍介绍SQL Server主要工具nManagement Studio集成的数据管理、查询、浏览平台nBI Development Studio商务智能项目开发平台nConfiguration Manager服务、网络配置nSurface Area C
6、onfiguration功能配置nDatabase Engine Tuning Advisor & SQL ProfiernSQLCmd 命令行工具SQL Server主要工具nManagement Studio集成的数据管理、查询、浏览平台集成的数据管理、查询、浏览平台nBI Development Studio商务智能项目开发平台nConfiguration Manager服务、网络配置nSurface Area Configuration功能配置nDatabase Engine Tuning Advisor & SQL ProfiernSQLCmd 命令行工具Manage
7、ment Studio建立在Visual Studio 之上,它提供用于数据库管理的图形工具和开发环境。 SSMS能够配置系统环境和管理SQL Server及所有的SQL Server对象。同时,SSMS提供了SQL, MDX、DMX, XMLA 和 XML 编辑运行环境。Management Studio概述Management Studio界面解决方案解决方案资源管理器资源管理器对象资源管理器对象资源管理器查询编辑器查询编辑器/结果栏结果栏利用对象资源管理器可以完成的功能包括:管理SQL Server 服务器;管理数据库;管理表、视图、存储过程等数据库对象,管理备份,恢复,复制数据库等活动
8、管理用户登录系统权限等安全设置;设置作业、警报、操作员等管理属性SSMSObject ExplorerSQL Server对象n服务器实例n数据库n表,视图,存储过程,索引,触发器,主键,外键,约束,默认值n列n数据类型:int, char, varchar, nvarchar, datetime, float, bit, money, xml,创建数据库, 分离和附加数据库;创建表创建视图生成SQL脚本SSMSObject Explorer Function Demon功能丰富的文字编辑环境n允许离线编辑语句n能够迅速查看语句的执行结果,并以图形化来显示执行计划n集成SQL, MDX, DM
9、X等多种语言SSMSQuery EditorSSMSQuery EditorFunction Demon方便的组织SQL Server脚本代码n增强了代码的版本控制和管理功能n模板项目的出现提高了开发效率SSMSSolution ExplorerSSMSSolution ExplorerFunction Demo本次课程具体安排n开发环境SSMS介绍/实践n基础基础T-SQL介绍介绍/实践实践n高级T-SQL介绍/实践nQA & 总结 T-SQLT-SQL基础介绍基础介绍T-SQL介绍nSQL Server专用的编程语言n支持SQL-99标准n对SQL做了大量扩充n编程语言(控制流、变
10、量等)SQLn结构化查询语言nSQL-99标准n功能:查询、操纵、定义、控制n使用方式:n独立执行n嵌入宿主语言执行数据定义语句(DDL)n定义数据库对象nCREATE object_namenALTER object_namenDROP object_nameDDL示例一(创建表)Create table emp_info(Id char(10) not null primary key, Name varchar(50),Sex char(2),Age int)n要求:n表名:emp_info,主键:idn列 数据类型 长度 允许空 id char 10 否 name varchar 50
11、 是 sex char 2 是 age int 4 是CREATE VIEW vwEmpNameListASSELECT Id, Name FROM emp_infoDDL示例二(创建视图)n创建视图语法:Create view view_name column_name,ASSelect statement with check optionExample 数据控制语句(DCL)n设置或修改权限nGRANTnDENYnREVOKEUSE northwindGRANT SELECT ON products TO publicGOExample 数据操纵语句(DML)n修改数据或检索信息nINS
12、ERTnUPDATEnDELETEnSELECTINSERT emp_info(Id, Name, Sex, Age)VALUES(1100000001,ZHANG SAN, 01 ,10)DML示例-INSERTnINSERT语法语法:INSERT (Col1,Col2) Values ()Example UPDATE emp_infoSET Name=ZHANG SHANWHERE Id= 1100000001,DML示例-UPDATEnUPDATE语法语法:UPDATE Set = value WHERE Example DELETE FROM emp_infoWHERE Id= 110
13、0000001,DML示例-DELETEnDELETE语法语法:DELETE FROM WHERE Example Select 语句的部分语法n:选取哪些列n:从哪些表选取数据n:搜索条件SELECT ALL | DISTINCT FROM ,n WHERE 选取所有列n使用”*” 选取所有列:Select * from employeesn显示employee的所有行、所有列n可能会造成漫长的查询,尽量避免使用这种语句选取指定列1DavolioNancySales Representative2FullerAndrewVice President, Sales3LeverlingJanet
14、Sales Representative4PeacockMargaretSales Representative5BuchananStevenSales Manager6SuyamaMichaelSales Representative7KingRobertSales Representative8CallahanLauraInside Sales Coordinator9DodsworthAnneSales RepresentativeUSE northwindSELECT employeeid, lastname, firstname, titleFROM employeesGO修改列名n
15、对列名进行操作有3种方式nCol_name col_aliasnCol_alias=col_namenCol_name AS col_aliasUSE northwindSELECT LastName FamilyName_1, FamilyName_2=LastName, LastName AS FamilyName_3FROM Employees GO计算列n查询时列可以进行运算,生成计算列USE northwindSELECT firstname, lastname ,Identification number:, employeeidFROM employeesGO计算列示例一USE
16、northwindSELECT OrderID, CustomerID, 0.2 DiscountRateFROM dbo.Orders GOn常量表达式作为计算列n列表达式作为计算列USE northwindSELECT FirstName+ +LastName AS FullName FROM EmployeesGO计算列示例二USE northwindSELECT OrderID, YEAR(OrderDate) AS OrderYearFROM dbo.Orders GOn函数表达式作为计算列过滤数据n在Where字句指定搜索条件过滤数据n比较操作符n逻辑操作符n范围查找BETWEEN
17、,IN关键字n空值查询(NULL)n模糊查询n使用TOP返回表中前面的一部分数据n使用Distinct删除重复的行使用Top选择行n返回表中前面的一部分数据;n语法: Select TOP integer | TOP integer PERCENTColumn_name ,n FROM table_namen示例nTOP 120 /*返回120行*/nTOP 15 PERCENT /*返回15%的数据行*/使用Distinct选择行n从返回的结果集中删除重复的行n语法:SELECT ALL | DISTINCT TOP n PERCENT .n注意:distinct 和 top关键字出现的先后
18、顺序使用where子句选择行5BuchananStevenSales ManagerUSE northwindSELECT employeeid, lastname, firstname, titleFROM employeesWHERE employeeid = 5GO比较操作符n比较操作符n=, n , !=, !, !=, , ! 16.00) GO 14Tofu623.2529Thringer Rostbratwurst12123.7962Tarte au sucre2949.3NULL值nNULL值n未知或不使用(NULL)n如何判断某个字段是否为空:col_name IS NULL
19、col_name = NULLn检查某一列是否为空,使用IS NULL,IS NOT NULL。决不能使用=NULL或!= NULL。n空值参与运算结果都是空值.NULL查询示例USE northwindSELECT companyname, faxFROM suppliersWHERE fax IS NULLGOExotic LiquidsNULLNew Orleans Cajun DelightsNULLTokyo TradersNULLCooperativa de Quesos Las CabrasNULL范围查找n对某一个范围的数据的查找,我们可以n把 以及And, OR结合起来用;n
20、使用betweenand语句n使用in语句n注意:尽量避免使用NOT运算符,那样会减慢查询速度nNot betweenandnNot in范围查找-BETWEENn查找某一范围的记录n语法:NOT Between And USE northwindSELECT productname, unitpriceFROM productsWHERE unitprice BETWEEN 10 AND 20GOExample USE northwindSELECT productname, unitpriceFROM productsWHERE unitprice=10 AND unitprice=302
21、3534511511102110222531153230115235345多表连接n通过扩展select语句的from子句,可以从多个表中选择字段。n语法:FROM first_table second_table ON (join_condition)连接分类n内连接:INNER JOIN(默认类型)n外连接:OUTER JOINn左外连接:LEFT OUTER JOINn右外连接:RIGHT OUTER JOINn全外连接:FULL OUTER JOIN n交叉连接:CROSS JOIN内连接n仅显示两个联接表中的匹配行的联接。Sales114323151553711421003Custo
22、merAdam BarrSean ChaiEva CoretsErin OMelia1234ResultAdam BarrAdam BarrErin OMeliaEva Corets11431553711Erin OMelia41003SELECT CustName, Sales.CustID, QtyFROM Customer INNER JOIN SalesON Customer.CustID = sales.CustID使用表别名n优点n清晰简明,增加语句的可读性n有利于编写复杂的表连接操作语句;n语法:ntable_name AS table_aliasntable_name tabl
23、e_alias 使用表别名示例SELECT CustName, s.CustID, QtyFROM Customer AS c INNER JOIN Sales AS sON c.CustID = s.CustIDSELECT CustName, Sales.CustID, QtyFROM Customer INNER JOIN SalesON Customer.CustID = Sales.CustIDSELECT CustName, s.CustID, QtyFROM Customer c INNER JOIN Sales sON c.CustID = s.CustID外连接n返回 FRO
24、M 子句中至少一个表或视图的所有行及连接表中匹配的列值,其它为空。Sales114323151553711421003CustomerAdam BarrSean ChaiEva CoretsErin OMelia1234ResultAdam BarrAdam BarrErin OMeliaEva Corets11431553711Erin OMelia41003SELECT CustName, Sales.CustID, QtyFROM Customer LEFT JOIN SalesON Customer.CustID = sales.CustIDSean ChaiNullNull外连接示例
25、一n假设在 city 列上联接 authors 表和 publishers 表。结果只显示在出版商所在城市居住的作者。USE pubsSELECT a.au_fname, a.au_lname, p.pub_nameFROM authors a INNER JOIN publishers pON a.city = p.city外连接示例二n但是如果使用左外连接USE pubsSELECT a.au_fname, a.au_lname, p.pub_nameFROM authors a LEFT OUTER JOIN publishers p ON a.city = p.cityORDER BY
26、 p.pub_name ASC, a.au_lname ASC, a.au_fname ASC交叉连接(cross join)n交叉联接返回左表中的所有行与右表中的所有行组合。n交叉联接也称作笛卡尔积。n如果表A有N条记录,表B有M条记录,那么交叉连接产生的结果集将会有N*M条记录。交叉连接示例SELECT CustName, Qty FROM Customer CROSS JOIN SalesGOResultAdam BarrAdam BarrAdam BarrAdam Barr1553711Adam Barr1003Sean Chai15Sean Chai5Sean Chai37Sean Chai11Sean Chai1003Eva Corets15.Sales114323151553711421003Customer1234Adam BarrSean ChaiEva CoretsErin OMelia使用子查询(嵌套查询)n什么是子查询?n子查询是一个 SELECT 查询,它返回单个值或结果集且嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。n为什么使用子查询?n把一个复杂的查询分解成一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海中侨职业技术大学单招职业倾向性测试题库带答案详解(a卷)
- 2026年中国计量大学单招职业技能考试题库(含答案详解)
- 2026年七台河职业学院单招职业适应性测试题库含答案详解(模拟题)
- 2026年云南三鑫职业技术学院单招职业技能考试题库含答案详解(满分必刷)
- 2026年上海中侨职业技术大学单招职业倾向性测试题库附参考答案详解(b卷)
- 2026年上海健康医学院单招职业适应性测试题库附答案详解(完整版)
- 2026年三门峡职业技术学院单招职业技能测试题库含答案详解(综合卷)
- 2026年云南省楚雄彝族自治州单招职业倾向性测试题库带答案详解(综合卷)
- 2026年云南现代职业技术学院单招职业倾向性测试题库带答案详解(夺分金卷)
- 2026年仙桃职业学院单招职业倾向性测试题库附答案详解(轻巧夺冠)
- 2025-2030中国高铁快运网络与物流园区衔接方案设计研究
- 宁国城市管理办法
- 部编初中语文教材“思考探究”部分内容梳理
- 2025年离婚抖音作品离婚协议书
- 人员淘汰管理制度
- 专项 记叙文阅读(附答案)八年级语文下册期中测试专项训练(全国版)
- 2025年湖南铁路科技职业技术学院单招职业技能测试题库及答案1套
- 断肢再植护理说课
- 数据共享交换平台的设计方案
- 【年产1000吨富硒沙棘果汁工艺生产设计16000字(论文)】
- 2024年扬州市中考数学真题试卷及解析
评论
0/150
提交评论