第3章 数据库原理及应用SQL Server 2008数据库原理及应用课件.ppt
《第3章 数据库原理及应用SQL Server 2008数据库原理及应用课件.ppt》由会员分享,可在线阅读,更多相关《第3章 数据库原理及应用SQL Server 2008数据库原理及应用课件.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第三章第三章 TranctSQL语言基言基础 本章学习目标本章学习目标了解SQL对象的命名规则和注释了解SQL语言中的数据类型了解SQL语言中的变量和运算符了解SQL语言中的各类函数及自定义函数的用法了解批处理和控制语句3.1 概述概述SQL(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言 按照功能分类,SQL语言主要包括:数据操作语句、数据定义语句和数据控制语句。数据操作语句(Data Manipulation Language,DML):主要包括对数据库中数据的查询、插入、删除、修改操作 数据定义
2、语句(Data Definition Language,DDL):可用于定义所存放数据的结构和组织,以及数据项之间的关系,如表、视图、触发器和存储过程等数据控制语句(Data Control Language,DCL):主要包括数据的存储控制和完整性控制,以防止非法用户对数据的使用和破坏 作为一种语言,Transact-SQL语言提供了有关变量、标识符、数据类型、表达式及控制流语句等语言元素,这些语言元素被称为附加的语言元素。3.2.1 SQL对象的命名规则对象的命名规则 常规对象的标识符规则:1)第一个字符必须是下列字符之一:字母az和AZ,来自其他语言的字母字符,下划线_、或者数字符号#。
3、以符号开始的标识符表示局部变量或参数;以#符号开始的标识符表示临时表或过程;以双数字符号(#)开始的标识符表示全局临时对象。3.2.1 SQL对象的命名规则对象的命名规则2)后续字符可以是:所有的字母、十进制数字、符号、美元符号($)、数字符号或下划线。3.2.1 SQL对象的命名规则对象的命名规则 数据库对象的命名规则:完整的数据库对象名有4部分组成:连接服务器名称或远程服务器名称、SQL Server数据库的名称、指定包含对象架构的名称、对象的名称。3.2.2 注释注释注释是程序代码中不执行的文本字符串,用于对代码进行说明或暂时仅用正在进行诊断的部分语句。在Microsoft SQL Se
4、rver系统中支持两种注释方式,即双连字符(-)注释方式和正斜杠星号字符对(/*/)注释方式。3.2.2 注释注释双连字符(-)注释方式主要用于在一行中对代码进行解释和描述。在正斜杠星号字符对(/*/)注释方式中,既可以用于多行注释,也可以与执行的代码处在同一行,甚至还可以在可执行代码的内部。双连字符(-)注释和正斜杠星号字符对(/*/)注释都没有注释长度的限制。一般地,行内注释采用双连字符(-),多行注释采用正斜杠星号字符对。3.3 数据类型数据类型3.3.1 数据类型数据类型系统数据类型系统数据类型整型数据类型:整数数据类型表示可以存储整数精确数据。有4种整数数据类型即BIGINT、INT
5、、SMALLINT、TINYINT。在选择整数数据类型时,默认情况下应该考虑使用INT数据类型,如果确认将要存储的数据可能很大或很小,那么可以考虑使用BIGINT数据类型或SMALLINT数据类型。只有当将要存储的数据不超过255且都是正数,那么才能使用TINYINT数据类型。3.3.1 数据类型数据类型系统数据类型系统数据类型浮点数据类型可以用来存储含小数的十进制数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储。DECIMAL数据类型的语法如下所示:DECIMAL(p,s)在上面的语法中,p表示数字的精度,s表示数字的小数位数。精度p的取值范围是1至38,默认值是18。小
6、数位数s的取值范围必须是0至p之间的数值(包括0和p)。3.3.1 数据类型数据类型系统数据类型系统数据类型 字符数据类型可以用来存储各种含字母、数字和符号组成的字符串。在SQL中输入字符数据时,必须将数据引在单引号中,否则SQL不能接受该字符数据。提供了CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR和NTEXT 6种数据类型。前3种数据类型是非Unicode字符数据,后3种是Unicode字符数据。3.3.1 数据类型数据类型系统数据类型系统数据类型日期和时间数据类型用于存储日期和时间数据。它有下面两种形式,区别在于存储长度所代表的时间范围和存储精确度的不同。Datetim
7、e:用于存储日期和时间的结合体。Smalldatetime:与datetime数据类型类似,但其日期时间范围较小,表示的范围是1900年1月1日至2079年12月31日,时间精确度是1分钟。3.3.1 数据类型数据类型系统数据类型系统数据类型 Text:文本类型数据类型是用来存储可变长度的文本数据。Text存储大量文本数据时,其容量理论上为231-1(2 147 483 647)个字节。在实际应用时需要视硬盘的存储空间而定。NText:与Text数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。Image:用于存储照片、目录图片或者图画,其
8、理论容量为231-1(2 147 483 647)个字节。3.3.1 数据类型数据类型系统数据类型系统数据类型 货币数据类型用于存储货币或现金值,包括money型和smallmoney型。在使用货币数据类型时,应在数据前加上货币符号,以便系统辨识其为哪国的货币,如果不加货币符号,则系统默认为“¥”。位数据类型:是可以存储1、0或NULL数据的数据类型。这些数据主要是用于一些条件逻辑判断。也可以把TRUE和FALSE数据存储到BIT数据类型中,这时需要按照字符格式存储TRUE和FALSE数据二进制数据类型分为:Binary 和Varbinary。3.3.1 数据类型数据类型系统数据类型系统数据类
9、型 除 了前面介绍的数据类型之外,Microsoft SQL Server 2008系统还提供了Cursor、SQL_Variant、Table、Timestamp、Uniqueidentifier及Xml等数据类型。使用这些数据类型可以完成特殊数据对象的定义、存储和使用。3.3.2 数据类型数据类型用户自定义数据类型用户自定义数据类型SQl Server的用户自定义数据类型并非是除了前面所述的基本类型以外的其他新的数据类型,而是在SQL Server的基本数据类型的基础上,将某个数据类型加上用户自定义的一些实际限制,成为用户在实际工作中根据自己的实际需要使用的特殊的、专门的一种数据类型。3.
10、4.1局部变量和全局变量用户自己定义的变量称为局部变量。局部变量是用于保存特定类型的单个数据值的变量。在TransactSQL中,局部变量必须先定义然后再使用。在Transact-SQL语言中,可以使用DECLARE语句声明变量。在声明变量时需要注意:第一,为变量指定名称,且名称的第一个字符必须是;第二,指定该变量的数据类型和长度;第三,默认情况下将该变量值设置为NULL。3.4.1局部变量和全局变量格式如下:DECLARE 局部变量名 数据类型,.可以在一个DECLARE语句中声明多个变量,多个变量之间使用逗号分割开。3.4.1局部变量和全局变量【例3.2】定义三个varchar类型变量和1
11、个整型变量 /*定义可变长度字符型变量name,长度为8 可变长度的字符型变量sex,长度为2,小整型变量age 可变长度的字符型变量address,长度为50*/DECLARE name varchar(8),sex varchar(2),age smallint DECLARE address varchar(50)3.4.1局部变量和全局变量局部变量的赋值:使用SET语句为变量赋值和使用SELECT语句选择列表中当前所引用值来为变量赋值。SET 局部变量名=表达式,.n SELECT 局部变量名=表达式,.nfrom 子句WHERE 子句3.4.1局部变量和全局变量【例3.3】创建一个局
12、部变量,并赋一个任意字符串作为局部变量的值 DECLAREchar_var char(20)SETchar_var=James Green SELECT char_var AS char_var的变量值为3.4.1局部变量和全局变量执行结果如下图所示:3.4.1局部变量和全局变量全局变量是由系统定义和维护的变量,是用于记录服务器活动状态的一组数据。全局变量名由符号开始。用户不能建立全局变量,也不可能使用SET语句去修改全局变量的值。3.4.2运算符和表达式运算符和表达式运算符运算符运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符
13、串串联运算符、按位运算符、一元运算符及比较运算符等。3.4.2运算符和表达式运算符和表达式运算符运算符算术运算符:用于两个表达式执行数学运算。3.4.2运算符和表达式运算符和表达式运算符运算符赋值运算符 赋值运算符只有一个,这就是等号(=)。赋值运算符有两个主要用途,第一,可以给变量赋值,这是最主要的用途;第二可以为表中的列改变列标题。3.4.2运算符和表达式运算符和表达式运算符运算符位运算符用于在两个表达式之间执行位操作。3.4.2运算符和表达式运算符和表达式运算符运算符比较运算符用于测试两个表达式是否相同。比较运算符的结果有3个值:TRUE(真)、FALSE(假)和(未知)。3.4.2运算
14、符和表达式运算符和表达式运算符运算符逻辑运算符用于对某些条件进行测试,以获得其真实情况。逻辑运算符和比较运算符一样,返回TRUE或FLASE值。3.4.2运算符和表达式运算符和表达式运算符运算符字符串串联运算符 加号(+)是字符串串联运算符,将字符串串联起来。例如,购部主管:+张立的结果就是采购部主管:张立。3.4.2运算符和表达式运算符和表达式运算符运算符一元运算符表示只对一个表达式执行操作。该表达式可以是numeric数据类型类别中的任何一种数据类型。3.4.2运算符和表达式运算符和表达式运算符运算符运算符优先级决定执行运算的先后顺序。当运算符的级别不同时,先对较高级别的运算符进行运算,然
15、后对较低级别的运算符进行运算。当运算符的级别相同时,按照它们在表达式中的位置从左到右进行运算。需要强调的是,使用括号可以改变运算符的运算顺序,运算时先计算括号中的表达式的值。算符的优先级别如表3-6所示。3.4.2运算符和表达式运算符和表达式表达式表达式表达式是由标识符、变量、常量、标量函数、子查询、运算符等的组合。表达式可以分为简单表达式和复杂表达式两种类型。简单表达式只是一个变量、常量、列名或标量函数,复杂表达式由两个或更多个简单表达式通过使用运算符连接起来的表达式。3.5 函数函数系统函数系统函数内置函数分为14种类型,这些类型的函数名称和主要功能如下图所示:3.5 函数函数系统函数系统
16、函数内置函数分为确定性函数和非确定函数。如果对于一组特定的输入值,函数始终可以返回相同的结果,那么这种函数就是确定的。如果对于一组特定的输入值,函数的结果可能会不同,那么这种函数就是非确定性的函数。3.5 函数函数系统函数系统函数聚合函数用于对一组数据执行某种计算并返回一个结果。3.5 函数函数系统函数系统函数配置函数用于返回当前配置选项的信息。3.5 函数函数系统函数系统函数聚合函数示例:如下图所示:分别计算出了在酒店信息管理系统中客房类型表,查出其中共有4种房间类型,最高客房价格为580,最低客房价格为280,平均客房价格为390.3.5 函数函数系统函数系统函数配置函数示例:使用配置函数
17、查看了当前一些配置选项的信息。这些信息包括当前使用语言的标识符、语言名称、数据库时戳、版本等信息、服务名称及当前的服务器名称。3.5 函数函数系统函数系统函数数学函数用于对数字表达式进行数学运算并返回运算结果。3.5 函数函数系统函数系统函数数学函数使用示例:在图3-4所示的示例中,分别演示了LOG函数、EXP函数、SIGN函数、PI函数、SIN函数、COS函数的用法。3.5 函数函数系统函数系统函数字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、BINARY和VARBINARY数据类型以及可以隐式转换为CHAR或VARCHAR的数据类型。具体如书
18、上表3-12所示。3.5 函数函数系统函数系统函数字符串函数使用示例:在下图所示的示例中,使用了LEN函数计算用户信息表身份证号列中字符串的长度,SUBSTRING函数计算身份证号列的前3个字串,最后使用REPLICATE函数将身份证号列的字符串重复5次。3.5 函数函数系统函数系统函数当SQL系统不能自动转换或自动转换的结果不符合要求时,就需要借助转换函数来实现,这种转换称为显式转换。常用的转换函数主要是CONVERT和CAST。利用CAST函数可以将某一种数据类型强制转换为另一种数据类型,其语法格式如下:CAST(expression AS data_type)CONVERT函数允许用户把
19、表达式从一种数据类型转换为另一种数据类型,并且还在日期的不同显示格式之间进行转换,其语法格式如下:CONVERT(data_type(length),expression,style)3.5 函数函数系统函数系统函数日期和时间函数是对日期和时间性数据进行各种不同的运算处理的,其结果可以是字符型、数值型和日期/时间型数据。3.5 函数函数系统函数系统函数系统函数用于查询系统表。系统表是SQL Server用来存储关于用户、数据库、表和安全的信息。用户可以通过查看系统函数的值得到某些对象的信息,从而决定进行不同的操作。常用的系统函数如表3-15所示。3.5 函数函数系统函数系统函数系统函数使用示例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数据库原理及应用SQL Server 2008数据库原理及应用课件 数据库 原理 应用 SQL 2008 课件
限制150内