当前位置:文档之家› sqlserver数据类型

sqlserver数据类型

10
3.2.1 SQL Server 2000的数据类型
八、二进制数据类型 SQL Server提供了3类二进制数据类型,分别是: binary,varbinary和image。 binary数据类型定义固定长度的二进制数据,其最大 长度可以达到8KB。 varbinary数据类型定义可变长度的二进制数据,其最 大长度不得超过8KB。 image数据类型用于存储字节数超过8KB的数据。比 如:Word文档、Excel图表以及图像数据等。
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 2ቤተ መጻሕፍቲ ባይዱ00的数据类型
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个字符。 同一表中不许有重名列。
1
修改
ALTER TABLE
3.2.1 SQL Server 2000的数据类型

当用SQL语句定义表时,需要为表中的每一个字 段设置一个数据类型,用来指定字段所存放的数 据是整数、字符串、货币或是其它类型的数据。 SQL Server 2000提供了丰富的数据类型,常用 的数据类型可以分为以下几类:
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))
三、浮点数据类型 当数据的位数太多时,可用浮点数据类型来取其近似值,在 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.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位,可以精确到货币单 位的万分之一。
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。

当使用规则标识符时,可以不写引号或“[]” ;当使用界定 标识符时,必须使用单引号、双引号或“[]”括起来。
17
3.2.3 表的建立、修改和删除
2、字段数据类型 不同的数据库系统支持的数据类型不完全相同,以 下是SQL Server 2000支持的一些常用数据类型:
INT SMALLINT DECIMAL(p[,q]) FLOAT CHAR(n) VARCHAR(n) DATETIME 整型 短整型 带小数的数据 浮点数 长度为n的定长字符串 最大长度为n的变长字符串 日期/时间型
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
3.2 数据定义


SQL语言使用数据定义语言(Data Definition Language, 简称DDL)实现其数据定义功能,可对基本表、视图、索引 进行定义和撤消。 视图是基于基本表的虚表,索引是依附于基本表的,因此 SQL通常不提供修改视图定义和修改索引定义的操作。
操作对象
表 视图 索引
操作方式 创建 CREATE TABLE CREATE VIEW CREATE INDEX 删除 DROP TABLE DROP VIEW DROP INDEX
12
3.2.2 数据库的建立与删除
SQL Server 2000在安装过程中,创建了6个 系统数据库:Master、Model、 Msdb、 Tempdb、Pubs和Northwind数据库。 二、打开指定数据库 USE <数据库名> 三、删除数据库 DROP DATABASE <数据库名>

13
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日。可以精确到分钟。

3.2.3 表的建立、修改和删除

完整性约束的基本语法格式为: [ CONSTRAINT <约束名> ] <约束类型>

约束名:约束不指定名称时,系统会给定一个 名称。
约束类型:在定义完整性约束时必须指定完整 性约束的类型。


在SQL SERVER中可以定义五种类型的完整性约束, 下面分别加以介绍。
18
3.2.3 表的建立、修改和删除
3、字段的长度、精度和小数位数

字段的长度:指字段所能容纳的最大数据量。 对字符与UNICODE数据类型而言,长度代表字段 所能容纳的字符的数目。 精度:指数据中数字的位数,包括小数点左侧的 整数部分和小数点右侧的小数部分。
小数位数:指数据小数点右侧的位数。


20
3.2.3 表的建立、修改和删除
5、定义完整性约束

在SQL SERVER中,对于基本表的约束分为列约束 和表约束。

列约束是对某一个特定列的约束,包含在列定义 中,直接跟在该列的其他定义之后,用空格分隔, 不必指定列名; 表约束与列定义相互独立,不包括在列定义中, 通常用于对多个列一起进行约束,与列定义用’,’ 分隔,定义表约束时必须指出要约束的那些列的 名称。 21
11
3.2.2 数据库的建立与删除
一、建立数据库 CREATE DATABASE <数据库名> 使用企业管理器创建数据库: 选中“数据库”节点,在“操作”菜单或快捷菜单 中选择“新建数据库”命令。 按上述步骤创建的数据库包括两个文件: 主数据文件:.mdf 主日志文件:.ldf 主数据文件的默认存储位置和文件名:SQL Server 2000根目录\data\数据库名_data.mdf 数据库名_log.ldf
22
3.2.3 表的建立、修改和删除


整数数据类型 数字数据类型 浮点数据类型 货币数据类型

日期/时间数据类型


字符数据类型
统一码数据类型 二进制数据类型
2
相关主题