SQLTransactSQL语言

上传人:平*** 文档编号:48934786 上传时间:2018-07-22 格式:PPT 页数:48 大小:351.35KB
返回 下载 相关 举报
SQLTransactSQL语言_第1页
第1页 / 共48页
SQLTransactSQL语言_第2页
第2页 / 共48页
SQLTransactSQL语言_第3页
第3页 / 共48页
SQLTransactSQL语言_第4页
第4页 / 共48页
SQLTransactSQL语言_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《SQLTransactSQL语言》由会员分享,可在线阅读,更多相关《SQLTransactSQL语言(48页珍藏版)》请在金锄头文库上搜索。

1、第3章 Transact-SQL程序设计 3.1 SQL 语言简介 3.2 数据类型 3.3 局部变量与全局变量 3.4 运算符及优先级 3.5 函数 3.6 简单的SELECT 语句 3.7 批处理与流程控制语句 返回目录13.1 SQL 语言简介 SQL (Structure Query Language) 语言是 一种在关系型数据库中定义、查询、操纵 和控制数据的标准语句。 大多数据库厂商都在SQL-92标准的基础上 对SQL又进行了一定的扩充,产生了事务 化的SQL语言,即Transact SQL语言,简 称T-SQL语言。2语言简介 SQL 语言是一种面向集合的数据库语言,其 主要特

2、点是: 类似于英语,直观、简单易学; SQL语言只是提出要“干什么”,“怎么办”则由 DBMS来完成。 SQL语句分为四类:数据查询语句、数据操纵语 句、数据定义语句和数据控制语句; SQL语句既可以独立,也可以嵌入到另外一种语 句中使用的语句,即具有自含型和缩主型两种特 征。自含型特征可以用于所有用户,缩主型适合 于应用程序员开发数据库应用程序。3语言简介 数据操作语句 select、 insert 、 delete 、 update 数据定义语句 create table 、 drop table 、 alter table create view 、 drop view create i

3、ndex 、drop index create procedure 、 alter procedure 、 drop procedure create trigger 、 alter trigger、 drop trigger 数据访问控制 grant 、 revoke 事务控制语句 begin transaction/commit 、 rollback 、 set transaction 编程语句 declare 、 open 、fetch、 close、execute 4 数据库管理员和应用系统开发人员用SQL语言 可以做以下事情: 创建主键、外键、约束、规则、触发器、事务, 用以实现数据

4、完整性; 查询、更新、删除数据库中的信息; 对各种数据库对象设置不同的权限、实现数据库 的安全性; 进行分布式数据处理,实现数据库间的数据复制 、传递和执行分布式查询; 可以创建批处理、存储过程、视图,方便应用程 序访问数据库中的数据; 实现数据仓库,从联机事务处理系统中提取数据 ,对数据汇总进行决策支持分析; 其他功能。本章首页本章首页53.2 数据类型 数据类型是指数据所代表的信息的类型。每一种语言都定 义了自己的数据类型。 SQL Server 2000中定义了25种数据类型,同时允许用户自 己定义数据类型。 系统定义的数据类型有:binary(n) 、varbinary(n)、char

5、(n)、varchar(n)、 nchar(n)、nvarchar(n)、datetime、smalldatetime、 decimalp(,s)、numericp(,s)、float(n)、real、int 、 smallint、tinyint 、money、smallymoney、 bit、cursor、 sysname、timestamp、uniqueidentifier、 text、image 和 ntext;63.2.1 二进制数据类型 二进制数据类型包括三种:binary 、varbinary和image。 binary (n):固定长度的n个字节二进制数据。n必须是1到8000。

6、存 储空间大小为n+4字节。 varbinary(n):n个字节可变长二进制数据。n必须从1到8000。存储 空间大小为实际数据长度+4个字节,而不是n个字节。 image:可变长度的二进制,其最大长度为231-1个字节。 3.2.2 数字数据类型 数字数据类型包括精确数字、近似数字两种。精确数字又分 为精确整数和精确小数。 1.精确整数 精确整数数据类型有四种,它们是bigint 、int、smallint、 tinyint。 bigint:从-263到263-1的整型数据。存储大小为8个字节。 int:从-231到231-1的整型数据。存储大小为4个字节。7 smallint:从-215到

7、215-1的整数数据。存储大小为2个字 节。 tinyint:从0到255的整数数据。存储大小为1个字节。 bigint 的存储范围大大于int 的存储范围,int 的存储范围大 于Smallint 的存储范围,Smallint的存储范围大于tinyint的存 储范围。 2.精确小数 精确小数数据类型有两种:它们是decimal和numeric。 decimal :带定点精度和小数位数的numeric数据类型, 从-1038+1到1038-1。 numeric:功能上等同decimal。 3.近似数字 近似小数数据类型有两种:float 和 real 。 float:从-1.79E+308到1

8、.79E+308的浮点精度数字。 real:从-3.04E+38到3.04E+38的浮点精度数字。83.2.3 字符数据类型 字符数据是用一对单引号括起来由字母、数字、和 符号组合而成的数据,在内存中占用一个字节。例 Nanjing、3.23、&*op都是合法的字符数据。字 符数据类型有char、varchar和text三种。 char:固定长度的非unicode字符数据,最大长度为8000 个字符; varchar:可变长度的非unicode 字符数据,最大长度为 8000个字符; text:可变长度的非unicode 字符数据,最大长度为231-1 个字符; 如果没有在数据定义或变量声明语

9、句中指定n,则 默认长度为1。93.2.4 unicode 数据类型 对于用单个字节编码每个字符的数据类型,存在的问题就 是此数据类型只能表示256个不同的字符。象汉字、日文 或韩国文字这样具有数千个字符的字母表就不可能处理了 。 unicode标准每个字符用两个字节来编码,所以在系统中 使用unicode数据类型,就可以解决大字母表的字符问题 了。 unicode数据类型包括nchar、nvarchar和ntext。 nchar:固定长度的unicode 数据,最大长度为4000个字符。 nvarchar:可变长度的unicode数据,其最大长度为4000字符。 ntext:可娈长度的uni

10、coce数据,其最大长度为230-1个字符。 当列的长度固定不变时,使用nchar数据类型;当列的长 度变化时,使用nvarchar数据类型;如果需要存储的字符 数多于4000个时,应使用ntext数据类型存储。103.2.5 日期和时间数据类型 日期和时间数据类型包括datetime 和smalldatetime两种数据 类型。 datetime:存储从1753年1月1日到9999年12月31日的日期和时间数 据,每一个值要求8个字节,精确到百分之三秒(或3.33毫秒)。 smalldatime:存储从1900年1月1日到2079年12月31日的日期和时 间数据,每一个值要求4个字节,精确到

11、分钟。 设置日期格式的命令如下:set dateformat format |format_var 其中,format | format 是日期的格式。有效参数包括MDY、 DMY、YMD、YDM、MYD、DYM。默认格式为MDY。 例3-1 设置日期格式 set dateformat mdy go declare datevar datetime set datevar =06/03/2006 select datevar113.2.6 货币数据类型 货币数据类型表示货币数量,货币数据类型包括money和 smallmoney。 money: 货币数值介于-263与263-1之间,精确到货币

12、单位的千分之十 ,money数据类型要求个存储字节。 smallmoney:货币数值介于-214748.3648与+214748.3647之间,精 确到货币单位的千分之十,smallmoney数据类型要求4个存储字节。 3.2.7特殊数据类型 在SQL中特殊的数据类型有三种:bit、timestamp和 uniqueidentifier。 bit:由1和0组成,使用bit数据类型可以表示真、假或on、off,不能对 bit的列使用索引。 timestamp:以二进制格式表示SQL Server活动的先后顺序。在数据 库范围内,timestamp是唯一的,每次更新行时进行更新。 uniqueid

13、entifer:全局唯一标识符(GUID),以十六进制数字表示一 个全局惟一的标识。123.2.8 用户自定义数据类型 在SQL Server中,用户可以根据需要自定义数据类型。 用户可以用SQL语言或企业管理器来自定义数据类型 。 自定义数据类型定义后,与系统数据类型一样使用。 创建自定义数据类型的好处: 利用自定义数据类型可使不同表不重复出现的各列数据具有 相同的特性。 1.创建用户自定义数据类型 ()使用SQL 语句创建 使用系统存储过程sp_addtype创建,语法如下: sp_addtype type_name ,phystype(length)|(precision,scale),

14、null | not null | identity13其中: type_name:是用户定义的数据类型的名字。 Phystype:是用户自定义数据类型所基于的系统 数据类型,可以包括长度、精度、标度。 null | not null | identity :用户自定义数据类型的 性质,分别为允许空值、不允许为空值、具有标 识列性质。如果不指定列的性质,默认为not null 。14例3-2 创建两个自定义数据类型 use jwgl go exec sp_addtype a0 ,varchar(15),null exec sp_addtype postalcode,char(6),not nu

15、ll (2)使用企业管理器创建自定义数据类型 进入企业管理器进入JWGL数据库右击“用户自定 义数据类型”点击“新建用户自定义数据类型” 后出 现“用户自定义数据类型”窗口输入要定义的数据名称 ,选择数据类型,输入数据长度,确定是否允许为空 点击“确定”。15 2.查看用户自定义数据类型 可以用系统存储过程sp_help或企业管理器来查看用户 定义的数据类型的特征。语法格式:exec sp_help 自定义数据类型名称 3.重命名用户自定义数据类型 使用过程sp_rename 可以很方便地重新命名一个用户 自定义数据类型。语法格式: exec sp_rename 旧名称 , 新名称 4.删除用户定义数据类型 使用过程sp_droptype 来删除一个已经定义且未被使用 的用户自定义数据类型。语法格式:exec sp_droptype 自定义数据类型名 必须注意不能删除正在被表或其他数据库使用的用户自 定义数据类型。本章首页本章首页163.3 局部变量与全局变量 从变量的作用范围来区分,SQL Server提供两种形式的变量 :局部变量和全局变量。 1. 局部变量 局部变量一般在批处

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

当前位置:首页 > 中学教育 > 教学课件

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