已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第08章、SQL Server使用入门一(理论课) WEB技术与数据库第第8章章SQL Server使用入门一2/38课程回顾?SQL Server有哪四个系统数据库??数据库对象?SQL语句?CREATE DATABASE、CREATE TABLE?统计函数?日期函数3/38本章目标?了解Transact-SQL程序设计的基本知识?掌握视图的创建和使用方法?掌握索引的创建和使用方法4/38SQL语句详解?重点内容回顾?SELECT?INSERT?DELETE?UPDATE5/38SELECT语句?指定查询哪些字段?使用WHERE子句限定记录?使用FROM子句限定表名6/38限定字段employeeid lastnamefirstname title1Davolio NancySales Representative2Fuller AndrewVice President,Sales3Leverling JaSales Representative4Peacock MargaretSales Representative5Buchanan StevenSales Manager6Suyama MichaelSales Representative7King RobertSales Representative8Callahan LauraInside SalesCoordinator9Dodsworth AnneSales RepresentativeUSE northwindSELECT employeeid,lastname,firstname,titleFROM employees7/38限定记录employeeid lastnamefirstname title5Buchanan StevenSales ManagerUSE northwindSELECT employeeid,lastname,firstname,titleFROM employeesWHEREemployeeid=58/38用字符串匹配符panynameGROSELLA-RestauranteLonesome PineRestaurantTortuga RestauranteUSE northwindSELECT panynameFROMcustomersWHERE panynameLIKE%Restaurant%9/38productid productnamesupplierid unitprice14Tofu623.2529Thringer Rostbratwurst12123.7962Tarte ausucre2949.3USE northwindSELECT productid,productname,supplierid,unitpriceFROM productsWHERE(productname LIKET%OR productid=46)AND(unitprice16.00)用逻辑运算符10/38用逻辑运算符productname unitpriceChai18Chang19Aniseed Syrup10Genen Shouyu15.5Pavlova17.45Sir Rodneys Scones10.USE northwindSELECTproductname,unitpriceFROM productsWHEREunitprice BETWEEN10ANDxx/38用逻辑运算符panyname countryTokyoTraders JapanMayumis JapanFormaggiFortini s.r.l.ItalyPasta Buttinis.r.l.ItalyUSE northwindSELECTpanyname,countryFROM suppliersWHEREcountry IN(Japan,Italy)12/38数据修改?插入新记录?删除已经存在的记录?修改已经存在的记录13/38插入新记录USE northwindINSERTcustomers(customerid,panyname,contactname,contacttitle,address,city,region,postalcode,country,phone,fax)VALUES(PECOF,Pecos CoffeeCompany,Michael Dunn,Owner,1900Oak Street,Vancouver,BC,V3F2K1,Canada, (604)555-3392, (604)555-7293)14/38删除已经存在的记录?使用DELETE语句来删除?可以删除一条或多条记录?使用Where子句限定删除的范围15/38如何修改数据??使用WHERE子句限定要修改哪些记录?使用SET关键字来赋值USE northwindUPDATEproductsSET unitprice=(unitprice*1.1)16/38排序Order by子句USE northwindSELECT productid,productname,categoryid,unitpriceFROM productsORDERBY categoryid,unitprice DESCductnameCote deBlayeIpoh CoffeeChangVegie-spreadNorthwoods CranberrySauceSirop drablecategoryid111222unitprice263.5461943.94028.517/38去掉重复的记录countryAustraliaBrazilCanadaDenmarkFinlandFranceGermanyItalyJapanNetherlandsNorwaySingaporeSpainSwedenUKUSAUSE northwindSELECTDISTINCT countryFROMsuppliersORDER BYcountry18/38更改字段标题AS关键字FirstNancyAndrewJaMargaretStevenMichaelRobertLauraAnneLastDavolioFullerLeverlingPeacockBuchananSuyamaKingCallahanDodsworth职工编号:123456789USEnorthwindSELECTfirstnameFirst,lastname ASLast,employeeid AS职工编号:FROM employees19/38GROUP BY子句USEnorthwindSELECTproductid,orderid,quantityFROM orderhistUSEnorthwindSELECTproductid,SUM(quantity)AS total_quantityFROM orderhistGROUP BY productidproductid total_quantity115235345productid orderidquantity11511102110222531153230productid total_quantity235Only rowsthat satisfythe WHEREclause aregroupedUSE northwindSELECTproductid,SUM(quantity)AS total_quantityFROM orderhistWHEREproductid=2GROUPBYproductidWHERE productid=220/38HAVING子句USEnorthwindSELECTproductid,orderid,quantityFROM orderhistUSEnorthwindSELECTproductid,SUM(quantity)AS total_quantityFROM orderhistGROUPBY productidHAVINGSUM(quantity)=30productidtotal_quantity235345productid orderidquantity1151110211022253115323021/38Transact-SQL程序设计?概述?注释?变量?运算符?函数?流程控制语句22/38Transact-SQL程序设计的概念?初识Transact-SQL客户程序和存储过程使用Structured QueryLanguage(SQL)的变体,又叫)的变体,又叫Transact-SQL(T-SQL),来与SQL Server通信并访问通信并访问SQL Server中的对象。 标准中的对象。 标准SQL一开始是作为查询和执行语言而出现的,并非要作为全能的编程语言。 一开始是作为查询和执行语言而出现的,并非要作为全能的编程语言。 T-SQL为了扩展SQL,加入了程序流程控制结构、局部变量和其他的一些功能,这样就可以写出更加复杂的查询语句,或建立驻留在,加入了程序流程控制结构、局部变量和其他的一些功能,这样就可以写出更加复杂的查询语句,或建立驻留在Server上的基于代码的对象,如存储过程和触发器等。 上的基于代码的对象,如存储过程和触发器等。 23/38注释?语法/*text_of_ment*/*Because CHECKconstraints canonly referencethe column(s)on whichthe column-or table-level constrainthas beendefined,any cross-table constraints(in thiscase,business rules)need tobe definedas triggers.*/?示例?注意?注释没有最大长度的限制?在注释中包含GO命令会生成一个错误信息24/38变量?变量(局部)?变量的声明?变量的赋值USE pubsDECLAREfind varchar (30)SETfind=Ring%SELECT au_lname,au_fname,phoneFROM authorsWHEREau_lname LIKEfind DECLARElocal_variable25/38变量的赋值-方法一USE NorthwindDECLAREvar1nvarchar (30)SELECTvar1=Generic NameSELECTvar1=CompanyNameFROM CustomersWHERE CustomerID=ALFKASELECTvar1ASCompany NameSELECTlocal_variable=expression,.n?Select语句(赋值Select)注意1.一条Select语句既能检索数据,也能给变量赋值,但不能同时完成这两项工作,如Use pubsDeclarelname varchar (40)Selectlname=au_lname,au_lname fromarthors where au_id=172-32-11762.一条select赋值语句只能返回一行,如果返回多行,则只有返回的最后一行赋值给了局部变量注意1.一条Select语句既能检索数据,也能给变量赋值,但不能同时完成这两项工作,如Use pubsDeclarelname varchar (40)Selectlname=au_lname,au_lname fromarthors whereau_id=172-32-11762.一条select赋值语句只能返回一行,如果返回多行,则只有返回的最后一行赋值给了局部变量26/38变量的赋值-方法二DECLAREmyvar char (20)SETmyvar=This isa testSELECTmyvarGOSETlocal_variable?Set命令27/38运算符?算术运算符?赋值运算符?位运算符?比较运算符?逻辑运算符?字符串串联运算符?一元运算符28/38运算符-算术运算符运算符含义+(加)加法-(减)减法*(乘)乘法/(除)除法%(模)返回一个除法的整数余数。 例如,12%5=2,这是因为12除以5,余数为229/38赋值运算符、位运算符Transact-SQL有一个赋值运算符,即等号(=)运算符含义&(按位AND位)按位AND(两个操作数)|(按位OR位)按位OR(两个操作数)(按位互斥OR)斥)按位互斥OR(两个操作数)30/38运算符-比较运算符运算符含义=等于大于=大于等于=小于等于不等于!=不等于(非SQL-92标准)!不大于(非SQL-92标准)31/38运算符-逻辑运算符运算符含义ALL如果一系列的比较都为TRUE,那么就为TRUEAND如果两个布尔表达式都为TRUE,那么就为TRUEANY如果一系列的比较中任何一个为TRUE,那么就为TRUEBETWEEN如果操作数在某个范围之内,那么就为TRUEEXISTS如果子查询包含一些行,那么就为TRUEuse pubsdeclarelname varchar (40),msg varchar (255)selectlname=Smithif exists(select*from authorswhereau_lname=lname)beginselectmsg=There areauthors named+lnameprintmsgendelsebeginselectmsg=There areno authorsnamed+lnameprintmsgendgo32/38运算符-逻辑运算符IN如果操作数等于表达式列表中的一个那么就为TRUELIKE TRUENOT对任何其它布尔运算符的值取反OR如果两个布尔表达式中的一个为TRUE,那么就为TRUESOME如果在一系列比较中,有些为TRUE,那么就为TRUEuse NorthwindSELECT*FROM ProductsWHEREUnitPrice=SOME(SELECT UnitPriceFROMOrder DetailsWHERE Discount0.1)33/38串联运算符、一元运算符串联运算符“+”实现字符串连接。 运算符含义+(正)数值为正-(负)数值为负(按位NOT)返回数字的补数34/38流程控制语句?BEGIN.END?CONTINUE?GOTO?IF.ELSE?RETURN?WAITFOR?WHILE?具体内容参见教材35/38视图?创建视图?通过企业管理器创建视图?通过SQL语句创建视图?对视图进行操作?修改和查看视图?重命名视图?使用视图?删除视图1.视图是基于一个或多个表的,是一种查看表中物理数据的逻辑方法。 实际上,对于视图是基于一个或多个表的,是一种查看表中物理数据的逻辑方法。 实际上,对于Select语句来说,视图看起来极像一个表。 语句来说,视图看起来极像一个表。 2.视图并不表示任何物理数据,它只是用来查看数据的窗口而已。 视图并不表示任何物理数据,它只是用来查看数据的窗口而已。 3.删除一个视图,对表没有任何影响。 4.语法CREATE VIEWview_name(col_name,)ASSELECT statement例如use pubsCREATEVIEW author_nameASSELECT last=au_lname,first=au_fname FROMauthors视图主要用来做行和列安全措施,可以授权用户只能从视图中选择行或列,而不是从源表中选取。 视图可以用来简化视图主要用来做行和列安全措施,可以授权用户只能从视图中选择行或列,而不是从源表中选取。 视图可以用来简化SQL36/38索引聚簇索引非聚簇索引物理顺序存储非物理顺序存储每表一个可以建立多个,最多可建立249个非聚簇索引提高取数据速度的同时,降低了插入和更新数据的速度。 ?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026海南南海网人力资源开发有限公司招聘备考题库及答案详解(典优)
- 2026江西抚州宜黄县公共文化服务中心(博物馆)招募就业见习人员2人备考题库及参考答案详解
- 2026四川九华光子通信技术有限公司招聘行政后勤岗1人备考题库有答案详解
- 2026深圳理工大学合成生物学院招聘2人备考题库附答案详解(巩固)
- 2025湖北鄂州市鄂城区国控投资集团下属子公司市场化选聘专业技术人才3人笔试历年常考点试题专练附带答案详解
- 2026广东惠州惠城区江北社区卫生服务中心招聘编外聘用工作人员4名备考题库附答案详解(a卷)
- 2026四川广安安创人力资源有限公司招聘劳务派遣人员1人备考题库及答案详解(典优)
- 2026宁波甬开产城运营管理有限公司招聘1人备考题库含答案详解(典型题)
- 2025浙江宁波江北区劳动和社会保障事务代理服务有限公司招聘编外工作人员录用人员笔试历年典型考点题库附带答案详解
- 2026云南昆明市银龄医师引进242人备考题库含答案详解(突破训练)
- 2026广东深圳市优才人力资源有限公司公开招聘聘员(派遣至龙城街道)18人备考题库附答案详解(精练)
- 《必背60题》运筹学与控制论26届考研复试高频面试题包含详细解答
- 2026年黄山职业技术学院单招职业倾向性考试题库含答案详解(培优b卷)
- 2026年常州纺织服装职业技术学院单招职业技能考试题库附参考答案详解(夺分金卷)
- 索赔业务管理制度及流程
- 2026年大象版二年级科学下册(全册)教学设计(附目录)
- 矿山安全部管理制度
- 生产车间质量红线制度标准
- 2026年春季学期学校安全工作计划-守好一校之安护好一日之常
- 2025中国电科29所校园招聘笔试历年难易错考点试卷带答案解析2套试卷
- 纳米材料与食品安全课件
评论
0/150
提交评论