SERVER数据库设计基础(1).ppt_第1页
SERVER数据库设计基础(1).ppt_第2页
SERVER数据库设计基础(1).ppt_第3页
SERVER数据库设计基础(1).ppt_第4页
SERVER数据库设计基础(1).ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL Server数据库设计基础,陈志煌 集美大学教务处,基于SQL Server 2000,第三课 T-SQL 语言概述,一、T-SQL语言基础 二、数据类型 三、变量 四、运算符 五、函数 六、流程控制语句,二、数据类型,整型 :bigint、int、smallint、tinyint 浮点型 :float、real、decimal、numeric 字符型 :char、varchar、text、nchar、nvarchar、ntext 日期时间型 :datetime、smalldatetime 逻辑型 :bit 二进制类型 :binary、varbinary、image,二、数据类型,其他

2、类型 cursor游标类型 sql-variant可变类型 table表类型 uniqueidentifer全局唯一标识符 timestamp时间戳类型 用户自定义类型 sp_addtype 类型名称,系统类型,处理空值方式,所有者,整型,tinyint 存储大小:1字节 范围:0到255 smallint 存储大小:2字节 范围:-215 (-32,768)到215-1(32,767 ) int 存储大小:4字节 范围:-231 (-2,147,483,648)到231-1(2,147,483,647) SQL Server 中主要的整数数据类型,整型,bigint 存储大小:8字节 范围:

3、-263 到263-1 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint SELECT 2147483647+1 SELECT CAST(2147483647 AS BIGINT)+1,浮点型,float 和 real 用于表示浮点数据的科学记数法 表示的数据为近似值 在其数据类型范围内,并非所有的数据都能精确地表示,float(n) 范围:- 1.79E + 308 到 1.79E + 308 n为从 1 到 53 之间的值 精度与存储大小取决于n的值

4、n在1-24之间,精度为7位数,存储需4字节 n在25-53之间,精度为15位数,存储需8字节 real - 3.40E + 38 到 3.40E + 38 存储大小为 4 字节,decimal 和 numeric decimal (p,s) numeric (p,s) - 1038 +1 到 1038 - 1 p精度,值需在 1 到 38 之间 s小数位数,值需在 0 到 p 之间 存储大小取决于p的值 在 1 9 之间,需 5 字节 在 1019 之间,需 9 字节 在 2028 之间,需 13 字节 在 2938 之间,需 17 字节,字符型,char 、 varchar 和 text

5、char(n) n介于1到8000之间 存储大小为n字节,固定长度 varchar(n) n介于1到8000之间 存储大小为实际输入的数据长度 text 最多可存储231-1个字符 存储大小为字符个数,char 、 varchar 和 text 用于存储非 Unicode 的字符数据 char与varchar 在数据定义或变量声明语句中,没有指定 n, 则默认长度为 1 如果没有使用 CAST 函数指定 n, 则默认长度为 30,字符型,nchar 、 nvarchar 和 ntext nchar(n) n介于1到4000之间 存储大小为n的两倍字节,固定长度 nvarchar(n) n介于1

6、到4000之间 存储大小为实际输入数据长度的两倍 ntext 最多可存储230-1个字符 存储大小为字符个数的两倍,nchar 、 nvarchar 和 ntext 用于存储 Unicode 的字符数据 nchar与nvarchar 在数据定义或变量声明语句中,没有指定 n, 则默认长度为 1 如果没有使用 CAST 函数指定 n, 则默认长度为 30,日期时间型,datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日 精确度为百分之三秒 .000、001调整为.000 .002、.003、.004调整为.003 .005、.006、.007、.008调整为.0

7、07 .009调整为.010 smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日 精确到分钟 ,29.998 秒向下舍,29.999 秒向上进,逻辑型,bit 整型数据 1、0 或 NULL 不能对 bit 类型的列使用索引 存储优化 如果一个表中有不多于 8 个的 bit 列,这些列将作为一个字节存储 如果表中有 9 到 16 个 bit 列,这些列将作为两个字节存储 依此类推,二进制类型,binary 和 varbinary binary(n) n在1到8000之间 存储空间大小为 n+4 字节 varbinary(n) n 在从 1 到 8000

8、 之间 存储空间大小为实际输入数据长度 +4 个字节 如果在数据定义或变量声明语句中没有指定 n,默认长度为 1 如果没有用 CAST 函数指定 n,默认长度为 30,image 可存储 0 到 231-1 字节 二进制数据 存储文件用image类型,其他类型,cursor游标类型 用在变量或存储过程 OUTPUT 参数 table表类型 只能用于定义 table 类型的局部变量或用户定义函数的返回值 uniqueidentifer全局唯一标识符 以一个 16 位的十六进制数表示全局唯一标识符 timestamp时间戳类型 用于表示 SQL Server 在一行上的活动顺序,按二进制格式以递增

9、的数字来表示,sql-variant可变类型 可存储除text、ntext、image、timestamp 和 sql_variant 外,各种数据类型值 sql_variant 类型的列可以包含不同数据类型的行 最大长度可达 8016 字节 必须先将 sql_variant 数据类型投影为其基本数据类型值,才能使其参与加和减这类运算,用户自定义类型,sp_addtype 类型名称,系统类型,处理空值方式,所有者,五、函数,数学函数 日期/时间函数 聚合函数 字符串函数,数学函数,ABS() 返回给定数字表达式的绝对值 CEILING() 返回大于或等于所给数字表达式的最小整数 FLOOR()

10、 返回小于或等于所给数字表达式的最大整数 RAND() 返回 0 到1 之间的随机值 ROUND() 四舍五入,例: USE pubs GO SELECT RAND() FROM titles GO,日期/时间函数,GETDATE() 返回当前系统日期和时间 DATEADD() 格式:DATEADD ( datepart , number, date ) 参数datepart Year (yy,yyyy)、quarter (qq,q)、Month (mm,m) Day (dd,d)、Week (wk,ww)、Hour (hh) minute (mi,n)、second (ss,s)、milli

11、second (ms) 参数number 若指定不是整数值,则将废弃此值的小数部分,例: USE pubs GO SELECT pubdate , DATEADD(day, 1, pubdate) AS timeframe FROM titles GO,DATEDIFF() 返回两个指定日期和时间之间的间隔 语法:DATEDIFF ( datepart , startdate , enddate ) 参数datepart 参数startdate计算的开始日期 用 smalldatetime 值时,计算秒和毫秒总是 0 参数enddate是计算的终止日期 返回整型值,DATENAME() 返回代

12、表指定日期指定部分的字符串 语法:DATENAME ( datepart , date ) 参数datepart weekday(dw)返回星期几 返回类型:nvarchar,DATEPART() 返回代表指定日期的指定部分的整数 语法:DATEPART ( datepart , date ) 参数datepart 默认:任何一年的 1 月 1 日定义了 week 日期部分的开始数字 weekday (dw) 日期部分返回对应于星期中的某天的数 。默认:Sunday = 1、Saturday = 7 返回类型:int,聚合函数,AVG() AVG ( ALL | DISTINCT expres

13、sion ) SUM() SUM ( ALL | DISTINCT expression ) COUNT() COUNT ( ALL | DISTINCT expression | * ) MAX() MIN(),聚合函数,USE pubs GO SELECT COUNT(*),COUNT (city),COUNT(DISTINCT city) FROM authors GO,聚合函数,USE pubs GO SELECT COUNT(*), AVG(price) ,MAX(price), MIN(price)FROM titlesWHERE advance $1000 GO,字符串函数,AS

14、CII和CHAR CHAR(n)中n应在0255之间的整数,否则返回值为NULL CHARINDEX 返回字符串中指定表达式的起始位置 CHARINDEX (字符串1 ,字符串2 , 起始位置 ) 字符串1或2为NULL时,返回NULL 在字符串2中没找到字符串1,返回0,LEFT与RIGHT LEFT(字符串,n) RIGHT(字符串,n) LTRIM与RTRIM LTRIM(字符串) RTRIM(字符串) LEN LEN(字符串) LOWER与OPPER LOWER(字符串) UPPER(字符串) STR,REPLACE与STUFF REPLACE(字符串1,字符串2,字符串3) STUFF(字符串1,起始位置,长度,字符串2) SPACE与REPLICATE SPACE(个数) REPLICATE(字符串,次数) REVERSE REVERSE(字符串) SUBSTRING SUBSTRING(字符串,起始位置,长度),六、流程控制语句,BEGIN END语句 格式: BEGIN END,IF ELSE语句 格式: IF ELSE ,CASE语句 格式1: CASE WHEN THEN WHEN THEN ELSE END,CA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论