SQL-Server-2012数据库开发教程第4章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《SQL-Server-2012数据库开发教程第4章.ppt》由会员分享,可在线阅读,更多相关《SQL-Server-2012数据库开发教程第4章.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL Server 2012SQL Server 2012数据库开发教程数据库开发教程数据库开发教程数据库开发教程(第(第(第(第33版)版)版)版)授课教师:授课教师:职务:职务:第第4章章 Transact-SQL语言基础语言基础课程描述课程描述课程描述课程描述SQLSQLSQLSQL语言(语言(语言(语言(Structured Query LanguageStructured Query LanguageStructured Query LanguageStructured Query Language,结,结,结,结构化查询语言)是目前使用最为广泛的关系构化查询语言)是目前使用最为广
2、泛的关系构化查询语言)是目前使用最为广泛的关系构化查询语言)是目前使用最为广泛的关系数据库查询语言,它简单易学,功能丰富,数据库查询语言,它简单易学,功能丰富,数据库查询语言,它简单易学,功能丰富,数据库查询语言,它简单易学,功能丰富,深受广大用户的欢迎。深受广大用户的欢迎。深受广大用户的欢迎。深受广大用户的欢迎。SQLSQLSQLSQL是是是是20202020世纪世纪世纪世纪70707070年代年代年代年代由由由由IBMIBMIBMIBM公司开发出来的;公司开发出来的;公司开发出来的;公司开发出来的;1976197619761976年,年,年,年,SQLSQLSQLSQL开始在开始在开始在开
3、始在商品化关系数据库系统中应用;商品化关系数据库系统中应用;商品化关系数据库系统中应用;商品化关系数据库系统中应用;1986198619861986年,美年,美年,美年,美国国家标准化组织(国国家标准化组织(国国家标准化组织(国国家标准化组织(American National American National American National American National Standard InstitudeStandard InstitudeStandard InstitudeStandard Institude,ANSIANSIANSIANSI)确认)确认)确认)确认SQLSQ
4、LSQLSQL为关为关为关为关系数据库语言的美国标准,系数据库语言的美国标准,系数据库语言的美国标准,系数据库语言的美国标准,1987198719871987年该标准被年该标准被年该标准被年该标准被ISOISOISOISO采纳为国际标准,称为采纳为国际标准,称为采纳为国际标准,称为采纳为国际标准,称为SQL-86SQL-86SQL-86SQL-86;1989198919891989年,年,年,年,ANSIANSIANSIANSI发布了发布了发布了发布了SQL-89SQL-89SQL-89SQL-89标准,后来被标准,后来被标准,后来被标准,后来被ISOISOISOISO采纳为采纳为采纳为采纳为
5、国际标准;国际标准;国际标准;国际标准;1992199219921992年,年,年,年,ANSI/ISOANSI/ISOANSI/ISOANSI/ISO发布了发布了发布了发布了SQL-92SQL-92SQL-92SQL-92标准,习惯称为标准,习惯称为标准,习惯称为标准,习惯称为SQL 2SQL 2SQL 2SQL 2;1999199919991999年,年,年,年,ANSI/ISOANSI/ISOANSI/ISOANSI/ISO发布了发布了发布了发布了SQL-99SQL-99SQL-99SQL-99标准,习惯称为标准,习惯称为标准,习惯称为标准,习惯称为SQL 3SQL 3SQL 3SQL
6、3。ANSI/ISOANSI/ISOANSI/ISOANSI/ISO于于于于2003200320032003年年年年12121212月又共同推出了月又共同推出了月又共同推出了月又共同推出了SQL SQL SQL SQL 2003200320032003标准。尽管标准。尽管标准。尽管标准。尽管ANSIANSIANSIANSI和和和和ISOISOISOISO针对针对针对针对SQLSQLSQLSQL制定了一制定了一制定了一制定了一些标准,但各家厂商仍然针对其各自的数据些标准,但各家厂商仍然针对其各自的数据些标准,但各家厂商仍然针对其各自的数据些标准,但各家厂商仍然针对其各自的数据库产品进行不同程度的
7、扩充或修改。库产品进行不同程度的扩充或修改。库产品进行不同程度的扩充或修改。库产品进行不同程度的扩充或修改。本章知识点本章知识点p4.1 Transact-SQL4.1 Transact-SQL简介简介p4.2 Transact-SQL4.2 Transact-SQL的语法规则的语法规则p4.3 4.3 标识符标识符p4.4 4.4 数据类型数据类型p4.5 4.5 常量常量p4.6 4.6 变量变量p4.7 4.7 运算符与表达式运算符与表达式p4.8 4.8 函数函数p4.9 4.9 流程控制语句流程控制语句p4.10 4.10 注释注释p4.11 Transact-SQL4.11 Tra
8、nsact-SQL语句的解析、编译和执行语句的解析、编译和执行4.1 Transact-SQL简介简介Transact-SQLTransact-SQL语言是语言是MicrosoftMicrosoft公司开发的一种公司开发的一种SQLSQL语言,简称语言,简称T-SQLT-SQL语言。它不仅包含了语言。它不仅包含了SQL-86SQL-86和和SQL-92SQL-92的大多数功能,而且还对的大多数功能,而且还对SQLSQL进行了一系列的扩展,增加了许多新特性,增强了可编程性和灵进行了一系列的扩展,增加了许多新特性,增强了可编程性和灵活性。该语言是一种非过程化语言,功能强大,简单易学,既可活性。该语
9、言是一种非过程化语言,功能强大,简单易学,既可以单独执行,直接操作数据库,也可以嵌入到其他语言中执行。以单独执行,直接操作数据库,也可以嵌入到其他语言中执行。所有的所有的Transact-SQLTransact-SQL命令都可以在查询分析器中执行。命令都可以在查询分析器中执行。Transact-SQLTransact-SQL语言主要由以下部分组成:语言主要由以下部分组成:p 数据定义语言(数据定义语言(Data Definition LanguageData Definition Language,DDLDDL););p 数据操纵语言(数据操纵语言(Data Manipulation Lang
10、uageData Manipulation Language,DMLDML););p 数据控制语言(数据控制语言(Data Control LanguageData Control Language,DCLDCL););p 系统存储过程(系统存储过程(System Stored ProcedureSystem Stored Procedure););p 一些附加的语言元素。一些附加的语言元素。1数据定义语言数据定义语言p数据定义语言包含了用来定义和管数据定义语言包含了用来定义和管理数据库以及数据库中各种对象的语理数据库以及数据库中各种对象的语句,如对数据库对象的创建、修改和句,如对数据库对象的
11、创建、修改和删除语句,这些语句包括删除语句,这些语句包括CREATE、ALTER、DROP等。等。2数据操纵语言数据操纵语言p数据操纵语言包含了用来查询、数据操纵语言包含了用来查询、添加、修改和删除数据库中数据的添加、修改和删除数据库中数据的语句,这些语句包括语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。等。3数据控制语言数据控制语言p数据控制语言包含了用来设置或更改数据数据控制语言包含了用来设置或更改数据库用户或角色权限的语句,这些语句包括库用户或角色权限的语句,这些语句包括GRANTGRANT、DENYDENY、REVOKEREVOKE等。等。4系统存储过程系
12、统存储过程p系统存储过程是系统存储过程是SQL ServerSQL Server创建的存储过创建的存储过程,它的目的在于能够方便地从系统表中程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。系统的管理任务或其他的系统管理任务。系统存储过程被创建并存放在存储过程被创建并存放在mastermaster数据库中,数据库中,可以在任意一个数据库中执行,名称以可以在任意一个数据库中执行,名称以sp_sp_或或xp_xp_开头。开头。5其他语言元素其他语言元素p为了编程需要,为了编程需要,Transact-SQLTr
13、ansact-SQL另外还增加另外还增加了一些语言元素,如变量、注释、函数、了一些语言元素,如变量、注释、函数、流程控制语句等。这些附加的语言元素不流程控制语句等。这些附加的语言元素不是是SQL-92SQL-92的标准内容。的标准内容。4.2 Transact-SQL的语法规则的语法规则1 1语法中的符号约定语法中的符号约定2 2数据库对象名的表示数据库对象名的表示Transact-SQL的语法规则的语法规则符 号含 义大写关键字斜体语法中用户提供的参数,使用时需要替换成具体内容。为了便于读者理解,本书在需要用户提供参数的位置尽量使用中文表示|分隔括号或大括号内的语法项目。只能选择一个项目 可
14、选的语法项目 必选的语法项,n 前面的项可重复n次,各项之间用逗号分隔 n 前面的项可重复n次,各项之间用空格分隔语法块的名称。用于对过长语法或语法单元部分进行标记:=对语法中指定位置进行进一步的定义SELECT子句的语法子句的语法SELECT ALL|DISTINCT SELECT ALL|DISTINCT TOP n PERCENT WITH TIES TOP n PERCENT WITH TIES p其中,其中,语法块进一步定义如下:语法块进一步定义如下::=:=*|表名表名|视图名视图名|表别名表别名.*.*|列名列名|表达式表达式|IDENTITYCOL|ROWGUIDCOL AS|
15、IDENTITYCOL|ROWGUIDCOL AS 列别名列别名|列别名列别名 =表达式表达式 ,.n ,.n 2数据库对象名的表示数据库对象名的表示p除非另外指定,否则所有对数据库对象名的除非另外指定,否则所有对数据库对象名的Transact-SQLTransact-SQL引用由四部分组成,格式如下:引用由四部分组成,格式如下:服务器名服务器名.数据库名数据库名.所有者名所有者名.|.|数据库名数据库名.所有者名所有者名.|.|所有者名所有者名.对象名对象名以下对象名格式都有效以下对象名格式都有效服务器名服务器名.数据库名数据库名.所有者名所有者名.对象名对象名服务器名服务器名.数据库名数据
16、库名.对象名对象名服务器名服务器名.所有者名所有者名.对象名对象名服务器名服务器名.对象名对象名数据库名数据库名.所有者名所有者名.对象名对象名数据库名数据库名.对象名对象名所有者名所有者名.对象名对象名对象名对象名例如例如p假设假设customer customer 数据库中的一个表数据库中的一个表employeesemployees和和一个视图一个视图mktg_viewmktg_view具有相同的名为具有相同的名为telephonetelephone的列。在的列。在employeesemployees表中引用表中引用telephonetelephone列,可以使用列,可以使用custome
17、r.employees.telephonecustomer.employees.telephonep来表示,在来表示,在mktg_viewmktg_view视图中引用视图中引用telephonetelephone列,列,可以使用可以使用customer.mktg_view.telephonecustomer.mktg_view.telephonep来表示。来表示。4.3 标识符标识符1 1常规标识符常规标识符常规标识符是指符合标识符的格式规则的标识符。标识常规标识符是指符合标识符的格式规则的标识符。标识符的格式规则如下:符的格式规则如下:长度不超过长度不超过128128个字符。个字符。开头字母
18、为开头字母为a az z或或A AZ Z、#、_ _ 或或 以及来自其他语以及来自其他语言的字母字符。言的字母字符。后续字符可以是后续字符可以是a az z、A AZ Z、来自其他语言的字母字、来自其他语言的字母字符、数字、符、数字、#、$、_ _、。不允许嵌入空格或其他特殊字符。不允许嵌入空格或其他特殊字符。不允许与保留字同名。不允许与保留字同名。注意,以符号注意,以符号、#开头的标识符具有特殊的含义,例如开头的标识符具有特殊的含义,例如以一个以一个#号开始的标识符表示临时表或过程。以号开始的标识符表示临时表或过程。以#开始开始的标识符表示全局临时对象。的标识符表示全局临时对象。2分隔标识符
19、分隔标识符p对于不符合格式规则的标识符,当用于对于不符合格式规则的标识符,当用于Transact-SQLTransact-SQL语句时,必须用双引号或方括号括起来,这种标识符语句时,必须用双引号或方括号括起来,这种标识符称为分隔标识符。称为分隔标识符。p【例【例4-14-1】下面语句中的】下面语句中的“My TableMy Table”表示一个表名称,表示一个表名称,因为名称中间有空格,因此在语句中需要用双引号或因为名称中间有空格,因此在语句中需要用双引号或方括号括起来。方括号括起来。SELECT*FROM My TableSELECT*FROM My Tablep等价于等价于SELECT*F
20、ROM My TableSELECT*FROM My Table【例【例4-2】p下面语句中的下面语句中的“authorsauthors”表示一个表名称,因为该表示一个表名称,因为该名称符合标识符的格式规则,因此在语句中可以不名称符合标识符的格式规则,因此在语句中可以不用双引号或方括号括起来。用双引号或方括号括起来。SELECT*FROM authorsSELECT*FROM authorsp该语句等价于该语句等价于SELECT*FROM authorsSELECT*FROM authorsp也等价于也等价于SELECT*FROM authorsSELECT*FROM authors4.4 数
21、据类型数据类型p4.4.1 4.4.1 整型数据类型整型数据类型p4.4.2 4.4.2 定点数据类型定点数据类型p4.4.3 4.4.3 浮点数据类型浮点数据类型p4.4.4 4.4.4 字符数据类型字符数据类型p4.4.5 4.4.5 日期和时间数据类型日期和时间数据类型p4.4.6 4.4.6 图形(图形(imageimage)数据类型)数据类型p4.4.7 4.4.7 货币数据类型货币数据类型p4.4.8 4.4.8 位(位(bitbit)数据类型)数据类型p4.4.9 4.4.9 二进制数据类型二进制数据类型p4.4.10 4.4.10 其他数据类型其他数据类型 4.4.1 整型数据
22、类型整型数据类型p1 1bigintbigint类型类型p该类型的数据存储大小为该类型的数据存储大小为8 8个字节,取值范围为个字节,取值范围为2 263632 263631 1。p2 2intint类型类型p该类型的数据存储大小为该类型的数据存储大小为4 4个字节,取值范围为个字节,取值范围为2 231312 231311 1。p3 3smallintsmallint类型类型p该类型的数据存储大小为两个字节,取值范围为该类型的数据存储大小为两个字节,取值范围为2 215152 215151 1。p4 4tinyinttinyint类型类型p该类型的数据存储大小为该类型的数据存储大小为1 1个
23、字节,取值范围为个字节,取值范围为0 0255255。4.4.2 定点数据类型定点数据类型pdecimaldecimal和和numericnumeric类型用于表示定点实数,类型用于表示定点实数,numericnumeric数数据类型等价于据类型等价于decimal decimal 数据类型,具体使用格式为:数据类型,具体使用格式为:pdecimal(p,s)decimal(p,s)pnumeric(p,s)numeric(p,s)p其中,其中,p p表示精度,用于指定小数点左边和右边十进制表示精度,用于指定小数点左边和右边十进制数字的最大位数,取值在数字的最大位数,取值在1 13838之间,
24、缺省值为之间,缺省值为1818;s s指定小数点右边十进数的最大位数,取值在指定小数点右边十进数的最大位数,取值在0 0p p之间,之间,缺省值为缺省值为0 0。精度精度p与实际存储的字节数之间的关系与实际存储的字节数之间的关系 精度p存储字节数195101992028132938174.4.3 浮点数据类型浮点数据类型p1 1floatfloat类型类型p定义定义floatfloat类型数据时可以指定科学计数法尾数的位数,类型数据时可以指定科学计数法尾数的位数,定义格式为:定义格式为:pfloat(n)float(n)pn n为用于存储科学记数法尾数的位数,为用于存储科学记数法尾数的位数,n
25、 n的取值范围为的取值范围为1 15353,n n可以省略。可以省略。n n的值决定了的值决定了floatfloat类型数据的精度类型数据的精度和存储大小,具体如表和存储大小,具体如表4-34-3所示。所示。p2 2realreal类型类型p该类型的数据存储大小为该类型的数据存储大小为4 4个字节,取值范围为个字节,取值范围为3.40E+383.40E+383.40E+383.40E+38,精度为,精度为7 7位。在位。在SQL ServerSQL Server中,中,realreal的同义词为的同义词为float(24)float(24)。float类型尾数位数与精度和实际存储的类型尾数位数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server 2012 数据库 开发 教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内