版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上章内容回顾5.1数据查询5.1.1查询语句5.1.2简单查询5.1.3连接查询5.1.4嵌套查询5.1.5集合查询5.2管理数据表5.2.1插入数据5.2.2修改数据5.3.3删除数据上章内容提问1、查询语句的基本结构是?2、我们讲了哪几个查询?3、连接查询有哪几种形式,关键字是?4、嵌套查询有哪几种子查询的形式?5、集合查询涉及哪几个关键字,含义是?6、命令方式插入数据有几种形式?7、修改数据常见的两种方式是?5.1.1
查询语句
Select语句的基本语法结构如下:Selectselect_list[intonew_table]Fromtable_source[wheresearch_condition][groupbygroup_by_expression][havingsearch_condition][orderbyorder_expression[asc|desc]]具体内容见P119数据库查询是通过查询语句搜索出用户所需要的信息,SQLServer对数据的查询操作是通过SELECT查询语句来完成的。5.1.3
连接查询以下三种连接方式:1.内连接from表名1innerjoin表名2on
连接表达式2.外连接左外连接from
表名1leftouterjoin表名2on
连接表达式右外连接from
表名1rightouterjoin表名2on
连接表达式全外连接
from表名1fullouterjoin表名2on
连接表达式3.交叉连接from
表名1crossjoin表名2on
连接表达式5.1.4
嵌套查询一个SELECT…FROM…WHERE语句称为一个查询块,将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询叫嵌套查询或子查询。有以下4种子查询:带IN谓词的子查询带比较运算符的子查询带ANY或ALL的子查询带EXISTS谓词的子查询5.1.5
集合查询如果有多个不同的查询结果数据集,但又希望将它们按照一定的关系连接在一起,组成一组数据,这就可以使用集合运算来实现。在SQLServer中,T-SQL提供的集合运算符有Union,Except和Intersect。5.2.1
插入数据2、命令方式插入数据(1)INSERTINTO插入一条数据(2)INSERTINTOSELECT插入多条数据(3)SELECTINTO语句插入数据到新表5.2.2
修改数据1.利用对象资源管理器修改数据利用对象资源管理器修改表数据,与插入表数据操作类似。2.命令方式修改数据修改数据的基本语法结构:update<表名>set<列名1>=<表达式1>[,<列名2>=<表达式2>][,…n][where<条件>]如果无where子句,则表示修改表中全部元组。where子句中可以嵌入子查询。上机复习练习实验5-3复习练习1-5题20分钟
第六章T-SQL语言基础及应用第六章T-SQL语言基础及应用目的与要求:掌握T-SQL的语法基础,包括变量、运算符、函数、流程控制语句和注解等语言元素。掌握数据库的并法控制:事务、锁。重点与难点:常量与变量(重点)运算符与表达式(重点)程序流程控制语句(重难点)函数(难点)事务、锁(难点)第六章T-SQL语言基础及应用6.1T-SQL语法基础6.2流程控制语句6.3函数6.4高级操作主要内容:第11讲T-SQL语言基础及应用16.1T-SQL语法基础6.1.1标识符6.1.2常量6.1.3变量6.1.4运算符6.1.5表达式6.1.6注释符6.1T-SQL语法基础6.1T-SQL语言基础Transact-SQL就是Microsoft对标准结构化查询语言的实现。简称为T-SQL,但通常也称为SQL。这个语言实现了访问数据库问题的一种标准化方式。本章主要介绍T-SQL的一些基础知识,为后续章节的深入学习奠定基础。
在MicrosoftSQLServer2012系统中,根据Transact-SQL语言的功能特点,可以把Transact-SQL语言分为5种类型,即数据定义语言、数据操纵语言、数据控制语言、事务管理语言和附加的语言元素。6.1T-SQL语言基础数据定义语言(DataDefinitionLanguage,DDL)CREATE,ALTER,DROP数据操纵语言(DataManipulationLanguage,DML)INSERT、UPDATE、DELETE、SELECT数据控制语言(DataControlLanguage,DCL)GRANT、REVOKE事务管理语言(TransactionManagementLanguage,TML)
COMMIT、ROLLBACK附加的语言元素主要包括标识符、变量和常量、运算符、表达式、数据类型、函数、控制流语言、错误处理语言、注释等。6.1.1标识符6.1.1
标识符
标识符是用来标识SQLServer中的服务器、数据库和数据库对象(例如表、视图、列、索引、触发器、过程、约束及规则等)。大多数对象要求有标识符,但对有些对象(例如约束),标识符是可选的。1、标识符的种类2、常规标识符规则6.1.1
标识符标识符的种类有两种:常规标识符和分隔标识符。1、标识符的种类(1)常规标识符符合标识符的格式规则。在Transact-SQL语句中使用常规标识符时不用将其分隔开。【例1】常规标识符示例。create
database
t16.1.1
标识符标识符的种类有两种:常规标识符和分隔标识符。1、标识符的种类(2)分隔标识符包含在双引号(")或者方括号([])内。在Transact-SQL语句中,必须对不符合所有标识符规则的标识符进行分隔。【例2】分隔标识符示例:创建一个数据库,名称为table。create
database
table错误create
database
[table]create
database
"[table]"正确常规标识符和分隔标识符包含的字符数都必须在1到128之间。对于本地临时表,标识符最多可以有116个字符。6.1.1
标识符2、常规标识符规则(1)第一个字符要求必须是所有统一码标准中规定的字符,包括26个英文字母a~z和A~Z、以及一些语言字符、如汉字等,或者下划线"_","@","#"。(2)后续字符要求所有统一码标准中规定的字符、或者26个英文字母a~z和A~Z、以及一些其它的语言字符,如汉字等。还包括一些特殊的符号如下划线"_","@","#","$",以及0,1,2,3,4,5,6,7,8,9。6.1.1
标识符2、常规标识符规则(3)标识符必须不能是Transact-SQL保留字。由于SQLServer中是不区分大小写字母的、所以无论是保留的大写还是小写都是不允许使用的。在Transact-SQL语句中使用标识符时,不符合这些规则的标识符必须由双引号或括号分隔。(4)不允许嵌入空格或特殊字符。6.1.1
标识符2、常规标识符规则注意事项:在SQLServer中,某些位于标识符开头位置的符号具有特殊意义。1.以@符号开头的常规标识符始终表示局部变量或参数,并且不能用作任何其他类型的对象的名称。以一个数字符号开头的标识符表示临时表或过程。2.以两个数字符号(##)开头的标识符表示全局临时对象。3.虽然数字符号或两个数字符号字符可用作其他类型对象名的开头,但是我们建议不要这样做。4.某些Transact-SQL函数的名称以两个@符号(@@)开头。为了避免与这些函数混淆,不应使用以@@开头的名称。6.1.2常量6.1.2
常量常量,也称为文字值或标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。字符串常量Unicode字符串常量整型常量实型常量日期时间常量货币常量唯一标识常量6.1.2
常量1.字符串常量字符串常量代表特定的一串字符,在使用时用单引号括起来。【例1】字符串常量示例。'hello''计算机'
如果字符串中要包含单引号,怎么办?!【例2】字符串常量示例。'Hesay:'
'Hello!'
''
如果字符串中要包含单引号,则使用两个单引号表示。可以在字符串内包含字母和数字字符(a~z、A~Z和0~9)以及特殊的字符,例如感叹号(!)、at字符(@)和数据号(#)。6.1.2
常量2.Unicode字符串常量Unicode字符串也属于字符串的一种表达形式,它的格式与普通的字符串类似,不同的是在使用时前面加上一个N标识符(N必须为大写)。【例3】Unicode字符串常量示例。N
'Hello'N
'计算机'6.1.2
常量3.整型常量根据整型的进制不同,整型又可以分为十进制常量、二进制常量和十六进制常量。其中十进制常量以普通的整数表示。二进制常量即数字0和1。十六进制常量在使用时加上前缀0x。【例4】整型常量示例。200/*十进制数*/-2958/*十进制数*/0/*十进制数,也可以认为是二进制数,二者在数值上相等。*/0x60A2/*十六进制数,代表十进制24738*/0xE5f/*十六进制数,代表十进制3679*/6.1.2
常量4.实型常量实型常量是包含有小数点的数字,分为定点表示和浮点表示两种。【例5】实型常量示例。32.50/*定点表示的实型常量*/25.8E4/*浮点表示的实型常量,其值为25.8×104*/3.2E-2/*浮点表示的实型常量,其值为3.2×10-2*/-2E6/*浮点表示的实型常量,其值为-2×106*/6.1.2
常量5.日期时间常量使用特定格式的日期值字符来表示日期和时间常量。在使用时用单引号引起来。在SQLServer中系统可以识别多种格式的日期时间常量。【例6】日期时间常量示例。'2007-01-01'/*数字日期格式*/'3/12/1995'/*数字日期格式*/'February2,2000'/*字母日期格式*/'20050825'/*未分割的字符串日期格式*/'12:00:00'/*时间格式*/'05:30:PM'/*时间格式*/'2007-10-1008:40:30'/*日期时间格式*/6.1.2
常量6.货币常量货币常量代表货币的多少,通常采用整型或者实型常量加上‘$’前缀构成。【例7】货币常量示例。$1234.56-$2006.1.2
常量7.唯一标识符常量唯一标识常量用于表示全局唯一标识符(GUID)的字符串。可以使用字符或者二进制字符串指定。GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”其中每个x是0-9或a-f范围内的一个4位十六进制数。【例8】唯一标识符常量示例。'6A526F-88C635-DA94-0035C4100FC''0xfa35998cc44abe3e60028d5daf279ff'6.1.3变量6.1.3
变量变量对于一种语言是必不可少的一部分。与常量不同,变量对应内存中一个存储空间。变量的值在程序执行过程中随时可能发生改变。变量的两种形式变量的命名规则6.1.3
变量1.变量的两种形式(1)系统提供的全局变量全局变量是由系统定义的,在整个SQLServer实例内都能访问到的变量。全局变量以一个@@符号开头。用户只能访问不能赋值。(2)用户自定义的局部变量局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以一个@符号开头,由用户自己定义和赋值。赋值时用
SELECT或SET。6.1.3
变量1.变量的两种形式(1)系统提供的全局变量SQLServer中的全局变量都用两个@标记作为前缀。可以使用简单的SELECT查询语句检索任意全局变量的值。【例1】全局变量示例。select
@@version6.1.3
变量1.变量的两种形式(2)用户自定义的局部变量使用局部变量可以将数据传递到SQL语句局部变量名必须以'@'为前缀SET或SELECT语句用于给局部变量赋值6.1.3
变量1.变量的两种形式(2)用户自定义的局部变量数据类型声明变量DECLARE
@dw
VARCHAR(20)SET
@dw=
'个'select
*
from
物料
where
计量单位=@dw6.1.3
变量1.变量的两种形式(2)用户自定义的局部变量SELECT语句:从表中取值赋给变量,但应保证类型一致。若从表中返回的是多个值,则取最后一个值赋给变量。DECLARE
@dw
VARCHAR(20)Select
@dw=计量单位
from
物料
SELECT
@dw6.1.3
变量1.变量的两种形式(2)用户自定义的局部变量变量示例【例2】下面的语句创建了INT类型的局部变量,其名字为@var,由于没有为该变量赋值,则该变量的初始值为NULL。DECLARE
@var
INTSELECT
@varDECLARE
@var
intSET
@var=1997SELECT
@var
6.1.3
变量1.变量的两种形式(2)用户自定义的局部变量【例3】下面的语句创建了三个局部变量,名称分别为@var1,@var2,@var3,并用SET语句分别为三个变量赋值。可以用DECLARE语句依次声明多个变量,各个变量之间用逗号“,”隔开。DECLARE
@var1
NVARCHAR(10),@var2
NCHAR(5),@var3
INTSET
@var1='red'SET
@var2='yellow'SET
@var3=10SELECT
@va
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物理学力学试题及解析
- 口腔执业医师资格试卷及分析
- 机械技术基础及设计 9
- 泌尿科患者的心理护理与沟通
- 局关于推进供给侧结构性改革去产能实施方案落实情况自查评估报告
- 施工现场视频监控方案
- 安全评价制度
- 雨课堂学堂在线学堂云《运作管理(北京交通)》单元测试考核答案
- 客户服务部上半年工作总结
- 掘进队安全生产岗位责任制
- 陕西省2025年初中学业水平考试地理试卷附真题答案
- 研究生毕业论文答辩流程及注意要点
- 急诊胸痛处理流程
- 安徽大学《工程制图》2024-2025学年期末试卷(A卷)
- 广州医科大学2024年临床医学(呼吸内科)内科学试题及答案
- 矿产开采合作协议(2025年权威版)
- (2021-2025)五年高考历史真题分类汇编专题22 中国古代史(材料分析题、观点论述题)(全国)(原卷版)
- 第十章 静电场中的能量 总结提升-2023学年高二物理(人教版)
- 2.1大气的组成和垂直分层(情境教学设计)地理人教版2019
- 《地下管线BIM模型技术规程》(征求意见稿)
- 水上乐园管理制度与安全操作规范
评论
0/150
提交评论