sqlserver数据类型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
3.2.1 SQL Server 2000的数据类型
八、二进制数据类型 SQL Server提供了3类二进制数据类型,分别是: binary,varbinary和image。 binary数据类型定义固定长度的二进制数据,其最大 长度可以达到8KB。 varbinary数据类型定义可变长度的二进制数据,其最 大长度不得超过8KB。 image数据类型用于存储字节数超过8KB的数据。比 如:Word文档、Excel图表以及图像数据等。
12
3.2.2 数据库的建立与删除
SQL Server 2000在安装过程中,创建了6个 系统数据库:Master、Model、 Msdb、 Tempdb、Pubs和Northwind数据库。 二、打开指定数据库 USE <数据库名> 三、删除数据库 DROP DATABASE <数据库名>
13
3.2.1 SQL Server 2000的数据类型
源自文库
decimal和numeric型数据的存储长度随精度变 化而变化,数据的存储长度随精度变化有以下四 种情况:
精度 1~9 10~19 20~28 29~38
存储字节长度 5 9 13 17
5
3.2.1 SQL Server 2000的数据类型
8
3.2.1 SQL Server 2000的数据类型
六、字符数据类型 SQL Server提供了3类字符数据类型,分别是: char,varchar和text。 在这3类数据类型中,最常 用的是char和varchar。 char数据类型使用固定长度来存储字符,最长可以容 纳8000个字符。每个字符使用1个字节的存储空间。 varchar数据类型用来存储最长可以达到8000字符 的变长字符型数据。 text数据类型专门用于存储数量庞大的变长字符数据, 最大长度可以达到231-1个字符,约2G。
三、浮点数据类型 当数据的位数太多时,可用浮点数据类型来取其近似值,在 SQL Server中采用只入不舍的方式进行存储。如: 1.23E+10。 浮点数据类型包括:float和real两种。 浮点数据类型的优点是能够存储范围非常大的数字,但浮点 数据类型很容易发生舍入误差。 real型数据的取值范围是:-3.40E+38~3.40E+38。存储 时使用4个字节,精度可以达到7位。 float型数据最多可以表示53位数。它的取值范围是:1.79E+308~1.79E+308。存储时最多可使用8个字节, 6 精度最多可以达到15位。
3.2.3 表的建立、修改和删除
例1:建立一个“学生”表Student。它由Sno、 Sname、Ssex、Sage、Sdept五个属性 组成。其中学号不能为空,值是唯一的, 并且姓名取值也唯一。 CREATE TABLE Student (Sno CHAR(5) NOT Null UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1), Sage INT, Sdept CHAR(15))
3.2.1 SQL Server 2000的数据类型
四、货币数据类型 货币数据类型专门用于货币数据处理。如: 123.0000。 货币数据类型包括:money和smallmoney两种。 money型数据的取值范围是: -263~263-1,存储时使用8 个字节,精度为19,小数位数为4位,可以精确到货币单 位的万分之一。 smallmoney型数据的取值范围是:-231~231-1 (-214,748.3648 ~ +214,748.3647),存储时使用4 个字节,精度为10,小数位数为4位,可以精确到货币单 位的万分之一。
22
3.2.3 表的建立、修改和删除
3.2.3 表的建立、修改和删除
完整性约束的基本语法格式为: [ CONSTRAINT <约束名> ] <约束类型>
约束名:约束不指定名称时,系统会给定一个 名称。
约束类型:在定义完整性约束时必须指定完整 性约束的类型。
在SQL SERVER中可以定义五种类型的完整性约束, 下面分别加以介绍。
3
3.2.1 SQL Server 2000的数据类型
二、数字数据类型 数字数据类型:用来定义可带小数部分的数据。如: 123.0、8000.56。 数字数据类型包括:decimal和numeric两种。 使用decimal和numeric型数据可以精确指定小数 点两边的总位数和小数点右边的位数。 例: decimal(5,2) -------- 123.45 SQL Server可以精确存储decimal和numeric型的 数据,它们的取值范围都是-1038+1~1038-1。 在SQL Server中,numeric数据类型在功能上完全 等价于 decimal数据类型分为两种是为了保持与 ANSI标准兼容。 4
18
3.2.3 表的建立、修改和删除
3、字段的长度、精度和小数位数
字段的长度:指字段所能容纳的最大数据量。 对字符与UNICODE数据类型而言,长度代表字段 所能容纳的字符的数目。 精度:指数据中数字的位数,包括小数点左侧的 整数部分和小数点右侧的小数部分。
小数位数:指数据小数点右侧的位数。
整数数据类型 数字数据类型 浮点数据类型 货币数据类型
日期/时间数据类型
字符数据类型
统一码数据类型 二进制数据类型
2
3.2.1 SQL Server 2000的数据类型
一、整数数据类型 整数数据类型提供存储精确数字值的方法。根据 整数数值的范围大小,分为以下五种: 类型 bit bigint int smallint tinyint 取值范围 0或1 -263 ~ 263-1 -231 ~ 231-1 -215 ~ 215-1 0 ~ 255 占用的字节 1 个字节 8 个字节 4 个字节 2 个字节 1 个字节
20
3.2.3 表的建立、修改和删除
5、定义完整性约束
在SQL SERVER中,对于基本表的约束分为列约束 和表约束。
列约束是对某一个特定列的约束,包含在列定义 中,直接跟在该列的其他定义之后,用空格分隔, 不必指定列名; 表约束与列定义相互独立,不包括在列定义中, 通常用于对多个列一起进行约束,与列定义用’,’ 分隔,定义表约束时必须指出要约束的那些列的 名称。 21
7
3.2.1 SQL Server 2000的数据类型
五、日期/时间数据类型 日期/时间数据类型用来存储日期和时间的组合数据。默认的 格式是:MM DD YYYY hh::mm A.M/P.M,允许使用/、和.作为不同时间单位间的分隔符。 日期/时间数据类型根据时间范围与精确程度可分为: datetime和smalldatetime两种。 datetime数据类型占用8字节的存储空间,数据范围:1753 年1月1日~9999年12月31日。可以精确到百分之三秒或者是 3.33毫秒。 smalldatetime数据类型占用4字节的存储空间。数据范围: 1900年1月1日到2079年6月6日。可以精确到分钟。
15
3.2.3 表的建立、修改和删除
Student表结构
字段 1 2 3 4 字段名 Sno 类型 char 宽度 5 20 1 小数位 索引 排序 Null Not
Sname char Ssex Sage char int
5
Sdept
char
15
16
3.2.3 表的建立、修改和删除
1、字段名(列名) 字段命名要遵守标识符有关格式的规定: 标识符的首字符必须是英文字母,汉字,下划线“_”,“@”或“#”。 标识符的其他字符可以是英文字母,汉字,数字,下划线“_”, “@”、“#”或“$”。 标识符不允许是T-SQL的保留字。由于T-SQL不区分大小写,所以 无论是保留字的大写还是小写都不允许使用。 标识符内部不允许有空格或特殊字符。 字段名不得超过128个字符。 同一表中不许有重名列。
11
3.2.2 数据库的建立与删除
一、建立数据库 CREATE DATABASE <数据库名> 使用企业管理器创建数据库: 选中“数据库”节点,在“操作”菜单或快捷菜单 中选择“新建数据库”命令。 按上述步骤创建的数据库包括两个文件: 主数据文件:.mdf 主日志文件:.ldf 主数据文件的默认存储位置和文件名:SQL Server 2000根目录\data\数据库名_data.mdf 数据库名_log.ldf
1
修改
ALTER TABLE
3.2.1 SQL Server 2000的数据类型
当用SQL语句定义表时,需要为表中的每一个字 段设置一个数据类型,用来指定字段所存放的数 据是整数、字符串、货币或是其它类型的数据。 SQL Server 2000提供了丰富的数据类型,常用 的数据类型可以分为以下几类:
3.2 数据定义
SQL语言使用数据定义语言(Data Definition Language, 简称DDL)实现其数据定义功能,可对基本表、视图、索引 进行定义和撤消。 视图是基于基本表的虚表,索引是依附于基本表的,因此 SQL通常不提供修改视图定义和修改索引定义的操作。
操作对象
表 视图 索引
操作方式 创建 CREATE TABLE CREATE VIEW CREATE INDEX 删除 DROP TABLE DROP VIEW DROP INDEX
当使用规则标识符时,可以不写引号或“[]” ;当使用界定 标识符时,必须使用单引号、双引号或“[]”括起来。
17
3.2.3 表的建立、修改和删除
2、字段数据类型 不同的数据库系统支持的数据类型不完全相同,以 下是SQL Server 2000支持的一些常用数据类型:
INT SMALLINT DECIMAL(p[,q]) FLOAT CHAR(n) VARCHAR(n) DATETIME 整型 短整型 带小数的数据 浮点数 长度为n的定长字符串 最大长度为n的变长字符串 日期/时间型
3.2.3 表的建立、修改和删除
一、建立基本表 CREATE TABLE <表名> ( <列名> <数据类型> [列级完整性约束条件] [, <列名> <数据类型> [列级完整性约束条件]]… [,<表级完整性约束条件>] )
表名:指出要建立的表的名称; 列名:指出组成该表的各个属性(列)的名称; 列级完整性约束条件:涉及相应属性列的完整性约束条件; 表级完整性约束条件:涉及一个或多个属性列的完整性约束条件; 14 < >内的内容是必须的,[ ]内的内容是可选的。
9
3.2.1 SQL Server 2000的数据类型
七、统一码数据类型 SQL Server提供了3类双字节数据类型,分别是:nchar, nvarchar和ntext。该数据类型与字符数据类型相类似,但 Unicode的一个字符用2字节存储。 nchar(n)是包含n个字符的固定长度Unicode字符数据。n的 取值范围是1~4000。存储大小为2n个字节。 nvarchar(n)是包含n个字符的可变长度Unicode字符数据。 n的取值范围是0~4000。字节的存储大小是所输入字符个数 的两倍。 ntext(n)数据类型存储的是可变长度的双字节字符,最多可 以存储230-1个双字节字符。
只有数值类的数据才有必要指定精度和小数位数。
例:CHAR(n) -------- CHAR(20) DECIMAL(P,[S]) ------- DECIMAL(8,3)
19
3.2.3 表的建立、修改和删除
4、DEFAULT值 DEFAULT值表示某一字段的默认值,当没有输入 数据时,则使用此默认的值。 例2:USE STU CREATE TABLE S ( SNO CHAR(8), SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT '男', DEPT VARCHAR(20))
3.2.1 SQL Server 2000的数据类型
八、二进制数据类型 SQL Server提供了3类二进制数据类型,分别是: binary,varbinary和image。 binary数据类型定义固定长度的二进制数据,其最大 长度可以达到8KB。 varbinary数据类型定义可变长度的二进制数据,其最 大长度不得超过8KB。 image数据类型用于存储字节数超过8KB的数据。比 如:Word文档、Excel图表以及图像数据等。
12
3.2.2 数据库的建立与删除
SQL Server 2000在安装过程中,创建了6个 系统数据库:Master、Model、 Msdb、 Tempdb、Pubs和Northwind数据库。 二、打开指定数据库 USE <数据库名> 三、删除数据库 DROP DATABASE <数据库名>
13
3.2.1 SQL Server 2000的数据类型
源自文库
decimal和numeric型数据的存储长度随精度变 化而变化,数据的存储长度随精度变化有以下四 种情况:
精度 1~9 10~19 20~28 29~38
存储字节长度 5 9 13 17
5
3.2.1 SQL Server 2000的数据类型
8
3.2.1 SQL Server 2000的数据类型
六、字符数据类型 SQL Server提供了3类字符数据类型,分别是: char,varchar和text。 在这3类数据类型中,最常 用的是char和varchar。 char数据类型使用固定长度来存储字符,最长可以容 纳8000个字符。每个字符使用1个字节的存储空间。 varchar数据类型用来存储最长可以达到8000字符 的变长字符型数据。 text数据类型专门用于存储数量庞大的变长字符数据, 最大长度可以达到231-1个字符,约2G。
三、浮点数据类型 当数据的位数太多时,可用浮点数据类型来取其近似值,在 SQL Server中采用只入不舍的方式进行存储。如: 1.23E+10。 浮点数据类型包括:float和real两种。 浮点数据类型的优点是能够存储范围非常大的数字,但浮点 数据类型很容易发生舍入误差。 real型数据的取值范围是:-3.40E+38~3.40E+38。存储 时使用4个字节,精度可以达到7位。 float型数据最多可以表示53位数。它的取值范围是:1.79E+308~1.79E+308。存储时最多可使用8个字节, 6 精度最多可以达到15位。
3.2.3 表的建立、修改和删除
例1:建立一个“学生”表Student。它由Sno、 Sname、Ssex、Sage、Sdept五个属性 组成。其中学号不能为空,值是唯一的, 并且姓名取值也唯一。 CREATE TABLE Student (Sno CHAR(5) NOT Null UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1), Sage INT, Sdept CHAR(15))
3.2.1 SQL Server 2000的数据类型
四、货币数据类型 货币数据类型专门用于货币数据处理。如: 123.0000。 货币数据类型包括:money和smallmoney两种。 money型数据的取值范围是: -263~263-1,存储时使用8 个字节,精度为19,小数位数为4位,可以精确到货币单 位的万分之一。 smallmoney型数据的取值范围是:-231~231-1 (-214,748.3648 ~ +214,748.3647),存储时使用4 个字节,精度为10,小数位数为4位,可以精确到货币单 位的万分之一。
22
3.2.3 表的建立、修改和删除
3.2.3 表的建立、修改和删除
完整性约束的基本语法格式为: [ CONSTRAINT <约束名> ] <约束类型>
约束名:约束不指定名称时,系统会给定一个 名称。
约束类型:在定义完整性约束时必须指定完整 性约束的类型。
在SQL SERVER中可以定义五种类型的完整性约束, 下面分别加以介绍。
3
3.2.1 SQL Server 2000的数据类型
二、数字数据类型 数字数据类型:用来定义可带小数部分的数据。如: 123.0、8000.56。 数字数据类型包括:decimal和numeric两种。 使用decimal和numeric型数据可以精确指定小数 点两边的总位数和小数点右边的位数。 例: decimal(5,2) -------- 123.45 SQL Server可以精确存储decimal和numeric型的 数据,它们的取值范围都是-1038+1~1038-1。 在SQL Server中,numeric数据类型在功能上完全 等价于 decimal数据类型分为两种是为了保持与 ANSI标准兼容。 4
18
3.2.3 表的建立、修改和删除
3、字段的长度、精度和小数位数
字段的长度:指字段所能容纳的最大数据量。 对字符与UNICODE数据类型而言,长度代表字段 所能容纳的字符的数目。 精度:指数据中数字的位数,包括小数点左侧的 整数部分和小数点右侧的小数部分。
小数位数:指数据小数点右侧的位数。
整数数据类型 数字数据类型 浮点数据类型 货币数据类型
日期/时间数据类型
字符数据类型
统一码数据类型 二进制数据类型
2
3.2.1 SQL Server 2000的数据类型
一、整数数据类型 整数数据类型提供存储精确数字值的方法。根据 整数数值的范围大小,分为以下五种: 类型 bit bigint int smallint tinyint 取值范围 0或1 -263 ~ 263-1 -231 ~ 231-1 -215 ~ 215-1 0 ~ 255 占用的字节 1 个字节 8 个字节 4 个字节 2 个字节 1 个字节
20
3.2.3 表的建立、修改和删除
5、定义完整性约束
在SQL SERVER中,对于基本表的约束分为列约束 和表约束。
列约束是对某一个特定列的约束,包含在列定义 中,直接跟在该列的其他定义之后,用空格分隔, 不必指定列名; 表约束与列定义相互独立,不包括在列定义中, 通常用于对多个列一起进行约束,与列定义用’,’ 分隔,定义表约束时必须指出要约束的那些列的 名称。 21
7
3.2.1 SQL Server 2000的数据类型
五、日期/时间数据类型 日期/时间数据类型用来存储日期和时间的组合数据。默认的 格式是:MM DD YYYY hh::mm A.M/P.M,允许使用/、和.作为不同时间单位间的分隔符。 日期/时间数据类型根据时间范围与精确程度可分为: datetime和smalldatetime两种。 datetime数据类型占用8字节的存储空间,数据范围:1753 年1月1日~9999年12月31日。可以精确到百分之三秒或者是 3.33毫秒。 smalldatetime数据类型占用4字节的存储空间。数据范围: 1900年1月1日到2079年6月6日。可以精确到分钟。
15
3.2.3 表的建立、修改和删除
Student表结构
字段 1 2 3 4 字段名 Sno 类型 char 宽度 5 20 1 小数位 索引 排序 Null Not
Sname char Ssex Sage char int
5
Sdept
char
15
16
3.2.3 表的建立、修改和删除
1、字段名(列名) 字段命名要遵守标识符有关格式的规定: 标识符的首字符必须是英文字母,汉字,下划线“_”,“@”或“#”。 标识符的其他字符可以是英文字母,汉字,数字,下划线“_”, “@”、“#”或“$”。 标识符不允许是T-SQL的保留字。由于T-SQL不区分大小写,所以 无论是保留字的大写还是小写都不允许使用。 标识符内部不允许有空格或特殊字符。 字段名不得超过128个字符。 同一表中不许有重名列。
11
3.2.2 数据库的建立与删除
一、建立数据库 CREATE DATABASE <数据库名> 使用企业管理器创建数据库: 选中“数据库”节点,在“操作”菜单或快捷菜单 中选择“新建数据库”命令。 按上述步骤创建的数据库包括两个文件: 主数据文件:.mdf 主日志文件:.ldf 主数据文件的默认存储位置和文件名:SQL Server 2000根目录\data\数据库名_data.mdf 数据库名_log.ldf
1
修改
ALTER TABLE
3.2.1 SQL Server 2000的数据类型
当用SQL语句定义表时,需要为表中的每一个字 段设置一个数据类型,用来指定字段所存放的数 据是整数、字符串、货币或是其它类型的数据。 SQL Server 2000提供了丰富的数据类型,常用 的数据类型可以分为以下几类:
3.2 数据定义
SQL语言使用数据定义语言(Data Definition Language, 简称DDL)实现其数据定义功能,可对基本表、视图、索引 进行定义和撤消。 视图是基于基本表的虚表,索引是依附于基本表的,因此 SQL通常不提供修改视图定义和修改索引定义的操作。
操作对象
表 视图 索引
操作方式 创建 CREATE TABLE CREATE VIEW CREATE INDEX 删除 DROP TABLE DROP VIEW DROP INDEX
当使用规则标识符时,可以不写引号或“[]” ;当使用界定 标识符时,必须使用单引号、双引号或“[]”括起来。
17
3.2.3 表的建立、修改和删除
2、字段数据类型 不同的数据库系统支持的数据类型不完全相同,以 下是SQL Server 2000支持的一些常用数据类型:
INT SMALLINT DECIMAL(p[,q]) FLOAT CHAR(n) VARCHAR(n) DATETIME 整型 短整型 带小数的数据 浮点数 长度为n的定长字符串 最大长度为n的变长字符串 日期/时间型
3.2.3 表的建立、修改和删除
一、建立基本表 CREATE TABLE <表名> ( <列名> <数据类型> [列级完整性约束条件] [, <列名> <数据类型> [列级完整性约束条件]]… [,<表级完整性约束条件>] )
表名:指出要建立的表的名称; 列名:指出组成该表的各个属性(列)的名称; 列级完整性约束条件:涉及相应属性列的完整性约束条件; 表级完整性约束条件:涉及一个或多个属性列的完整性约束条件; 14 < >内的内容是必须的,[ ]内的内容是可选的。
9
3.2.1 SQL Server 2000的数据类型
七、统一码数据类型 SQL Server提供了3类双字节数据类型,分别是:nchar, nvarchar和ntext。该数据类型与字符数据类型相类似,但 Unicode的一个字符用2字节存储。 nchar(n)是包含n个字符的固定长度Unicode字符数据。n的 取值范围是1~4000。存储大小为2n个字节。 nvarchar(n)是包含n个字符的可变长度Unicode字符数据。 n的取值范围是0~4000。字节的存储大小是所输入字符个数 的两倍。 ntext(n)数据类型存储的是可变长度的双字节字符,最多可 以存储230-1个双字节字符。
只有数值类的数据才有必要指定精度和小数位数。
例:CHAR(n) -------- CHAR(20) DECIMAL(P,[S]) ------- DECIMAL(8,3)
19
3.2.3 表的建立、修改和删除
4、DEFAULT值 DEFAULT值表示某一字段的默认值,当没有输入 数据时,则使用此默认的值。 例2:USE STU CREATE TABLE S ( SNO CHAR(8), SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT '男', DEPT VARCHAR(20))