[计算机软件及应用]数据库之第八讲:transact-sql语言基础

上传人:tia****nde 文档编号:70534677 上传时间:2019-01-17 格式:PPT 页数:88 大小:741.81KB
返回 下载 相关 举报
[计算机软件及应用]数据库之第八讲:transact-sql语言基础_第1页
第1页 / 共88页
[计算机软件及应用]数据库之第八讲:transact-sql语言基础_第2页
第2页 / 共88页
[计算机软件及应用]数据库之第八讲:transact-sql语言基础_第3页
第3页 / 共88页
[计算机软件及应用]数据库之第八讲:transact-sql语言基础_第4页
第4页 / 共88页
[计算机软件及应用]数据库之第八讲:transact-sql语言基础_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《[计算机软件及应用]数据库之第八讲:transact-sql语言基础》由会员分享,可在线阅读,更多相关《[计算机软件及应用]数据库之第八讲:transact-sql语言基础(88页珍藏版)》请在金锄头文库上搜索。

1、1,Transact-SQL语言基础 (对应教材第6章) 电气信息工程学院自动化教研室 主讲教师:陈志武 Email:CHENYYJ163.COM,第六讲,2,主要内容,基本数据类型,2,常量与变量,3,运算符与表达式,4,流程控制语句,5,T-SQL语言简介,1,3,主要内容,注释,6,函数,7,4,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL( Structured Query Language )语言,SQL语言的历史: 70年代: 由IBM公司开发出来的;1976年开始在商品化关系数据库系统中应用; 1986:ANSI确认SQL为关系数据库语言的美国标准,1987年

2、被ISO采纳为国际标准, 称为SQL-86; 1989: ANSI发布了SQL-89标准,后来被ISO采纳为国际标准; 1992: ANSI/ISO发布了SQL-92标准,习惯称为SQL 2;1999年: ANSI/ISO发布了SQL-99标准,习惯称为SQL 3; 2003: ANSI/ISO共同推出了SQL 2003标准。,5,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL( Structured Query Language )语言,Transact-SQL语言是Microsoft开发的一种SQL语言,简称T-SQL语言。它不仅包含了SQL-86和SQL-92的大多数功

3、能,而且还对SQL进行了一系列的扩展,增加了许多新特性,增强了可编程性和灵活性。Transact-SQL语言主要包括: 数据定义语句(Data Definition Language,DDL) 如对数据库对象的创建(CREATE)、修改(ALTER)、 删除语句(DROP) 等,6,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL( Structured Query Language )语言,数据操纵语句(Data Manipulation Language,DML) 用来查询(SELECT)、添加(INSERT) 、修改(UPDATE) 、删除(DELETE)、数据库中数据的

4、语句 数据控制语句(Data Control Language,DCL) 用来设置或更改 数据库用户或角色的语句。,7,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL( Structured Query Language )语言,一些附加的语言元素 如变量、函数、流程控制语句等,这些不是SQL-92的标准内容,8,二、标识符,2、标识符的分类: (1)常规标识符 (2)分隔标识符,1、标识符的定义: 标识符用于标识服务器、数据库、数据库对象、变量等。,1、T-SQL语言简介,9,二、标识符,1、T-SQL语言简介,1. 常规标识符 指符合标识符格式规则的标识符。标识符的格式规

5、则如下: 长度不超过128个字符。 开头字母为a-z或A-Z、#、_ 或 以及来自其它语言的字母字符。 后续字符可以是a-z、A-Z、来自其它语言的字母字符、数字、#、$、_、。 不允许嵌入空格或其它特殊字符。 不允许与保留字同名。,10,二、标识符,1、T-SQL语言简介,2. 分隔标识符 对于不符合格式规则的标识符,当用于Transact-SQL语句时,必须用双引号或方括号括起来。 例如: SELECT * FROM “My Table“ 等价于 SELECT * FROM My Table,11,二、标识符,1、T-SQL语言简介,对于常规标识符,可以加上双引号或方括号,也可以不加。 【

6、例如: SELECT * FROM authors 该语句等价于 SELECT * FROM “authors“ 也等价于 SELECT * FROM authors,12,三、语句符号约定,1、T-SQL语言简介,13,三、语句符号约定,1、T-SQL语言简介,例如,SELECT子句的语法如下: SELECT ALL | DISTINCT TOP n PERCENT WITH TIES 其中,语法块进一步定义如下: := * | 表名 | 视图名 | 表别名.* |列名|表达式|IDENTITYCOL|ROWGUIDCOL AS 列别名 | 列别名 = 表达式 ,.n ,14,2、基本数据类

7、型,使用SQL Server创建数据库中的表时,要对表中的每一列定义一种数据类型,数据类型决定了表中的某一列可以存放什么数据。除了定义表需要指定数据类型外,使用视图、存储过程、变量、函数等都需要用到数据类型。 SQL Server提供了丰富的系统定义的数据类型,用户还可以在此基础上自己定义数据类型。,15,2、数据类型,1. bigint类型 存储大小: 8个字节,取值范围: -263263-1 2. int类型 存储大小: 4个字节,取值范围: -231231-1 3. smallint类型 存储大小: 2个字节,取值范围: -215215-1 4. tinyint类型 存储大小: 1个字节

8、,取值范围: 0255,一、整形数据类型,16,2、数据类型,二、定点数据数据类型,定点数据类型用于表示定点实数,包括numeric和decimal类型。 Numeric等价于decimal。 格式: decimal(p, s) a numeric(p, s) b 说明: p: 表示精度,指定小数点左边和右边十进制数字的最大位数,取值在1到38之间,缺省值为18; s: 指定小数点右边十进数的最大位数,取值在0到p之间,缺省值为0。 表示范围: -1038+11038-1,17,2、数据类型,三、浮点数据类型,表示范围: -1.79E+3081.79E+308,1. float类型 格式: f

9、loat(n) 说明: n: 尾数的位数,具体如下表:,18,2、数据类型,三、浮点数据,2. real类型 存储大小: 4个字节 取值范围: -3.40E+383.40E+38 精度: 7位 在SQL Server中,real的同义词为float(24)。,19,2、数据类型,四、字符型数据,分为Unicode字符数据类型和非Unicode字符数据类型. 非Unicode字符数据类型: 允许使用由特定字符集定义的字符。字符集在安装SQL Server时选择,不能更改。 非Unicode字符数据类型: char、varchar和text。 Unicode字符数据类型: 可存储由Unicode标

10、准定义的任何字符,包含由不同字符集定义的所有字符。需要相当于非Unicode数据类型两倍的存储空间。 Unicode字符数据数据类型包括: nchar、nvarchar和ntext。对于存储来源于多种字符集的字符的列,可采用这些数据类型。,20,2、数据类型,四、字符型数据,1. char类型 格式: char(n) 功能: 定义长度为n个字节的固定长度非Unicode字符数据,每个字符占一个字节。 说明: n:18000 存储大小: n个字节(n个字符) 2. varchar类型 格式: varchar(n) 功能: 定义长度最多为n个字节的可变长度非Unicode字符数据,每个字符占一个字

11、节。 说明: n: 18000。 存储大小: 输入字符的实际长度。长度可为零,21,2、数据类型,四、字符型数据,3. nchar类型 格式: nchar(n) 功能: 定义包含n个字符的固定长度Unicode字符数据 说明: n:14000 存储大小: 2n个字节 4. nvarchar类型 格式: nvarchar(n) 功能:定义包含最多n个字符的可变长度Unicode字符数据 说明: n: 14000。 存储大小:所输入的字符实际个数的两倍。长度可以为零。,22,2、数据类型,四、字符型数据,5. text类型 功能: 用于存储大块的非Unicode字符,长度可变,字符最大长度 存储空

12、间等于输入字符个数 6. ntext类型 功能:用于存储大块的Unicode字符,长度可变,字符最大长度 存储空间等于输入字符个数的两倍,23,2、数据类型,五、日期与时间数据类型,日期和时间数据类型用于存储日期和时间的结合体。包括datetime和smalldatetime两种类型。 1. datetime类型 存储大小: 8个字节 表示范围:1753年1月1日零时9999年12月31日23时59分59秒。 例: 01/01/98 23:59:59 2000-5-29 12:30:48 2. smalldatetime 存储大小: 4个字节 表示范围: 1900年1月1日2079年6月6日。

13、 例: 2000/05/08 12:35 2000-05-29 12:35 2000-05-29,24,2、数据类型,六、 图形(image)数据类型,image数据类型用于存储可变长度二进制数据,其长度界于0到231-1个字节之间。,25,2、数据类型,七、 货币数据类型,货币数据类型包括money和smallmoney数据类型。货币数据存储的精确度为四位小数。 1. money类型 存储大小: 8个字节 表示范围: -922,337,203,685,477.5808 +922,337,203,685,477.5807 2. smallmoney类型 存储大小: 4个字节 表示范围: -21

14、4,748.3648214,748.3647,26,2、数据类型,八、 位(bit)数据类型,bit数据类型的取值只有0和1,如果一个表中有不多于8个的bit列,这些列将作为一个字节存储。如果表中有9到16个bit列,这些列将作为两个字节存储。更多列的情况依此类推。,27,2、数据类型,九、 二进制数据类型,二进制数据类型又可以分为binary和varbinary类型。,1. binary类型 格式: binary(n) 功能: 定义固定长度的n个字节二进制数据,当输入的二进制数据长度小于n时,余下部分填充0。 说明: n: 18000,28,2、数据类型,九、 二进制数据类型,2. varb

15、inary类型 格式: varbinary(n) 功能: 定义n个字节可变长度二进制数据。 说明: n: 18000 存储大小: 为实际输入数据长度加4个字节,而不是n个字节。输入的数据长度可能为0字节。 如果在数据定义或变量定义语句中使用时没有指定n,则默认长度n为1。如果在CAST函数中使用时没有指定n,则默认长度n为30。,29,2、数据类型,十、 其他数据类型,1. timestamp类型(时间戳数据类型) 存储大小: 8个字节。 时间戳类型的数据用于提供数据库范围内的惟一值,反映数据库中数据修改的相对顺序,相当于一个单调上升的计数器。当表中的某列定义为timestamp类型时,在对表

16、中某行进行修改或添加行时,相应timestamp类型列的值会自动被更新。,30,2、数据类型,十、 其他数据类型,2. uniqueidentifier类型 用于存储一个16字节长的二进制数据,它是SQL Server根据计算机网络适配器和CPU时钟产生的全局惟一标识符(Globally Unique Identifier,GUID),该数字可以通过调用SQL Server的NEWID函数获得。 GUID是一个唯一的二进制数字,世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。,31,2、数据类型,十、 其他数据类型,3. sql_variant类型 用于存储除text、ntext、image、timestamp和sql_variant外的其它任何合法的数据。 4. table类型 用于存储对表或者视图处理后的结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号