- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据表创建及管理
第5 章 数据表的创建与管理
本章内容简介及学习要点
在上一节中,我们重点研究了数据库的物理存储结构,从本节开始,我们将讨论构成数
据库逻辑结构的数据库对象。在数据库中,表的作用是存储基础数据,而且是其他数据库对
象依赖的基础,所以在本节中,我们将对表对象进行讲解。
5.1 SQL Server 数据表
表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。表定义为列的集
合,数据在表中是按行和列的组织形式排列的,每一行代表唯一的一条记录,每一列则代表
记录中的一个域。
在SQL Server 数据库中,表对象分为三种:系统表、用户定义表和临时表。系统表由
SQL Server 安装或数据库建立时由系统自动创建,一般用于维护服务器或数据库的管理配
置,不建议用户对系统表进行直接操作。用户定义表是用户进行数据操作的主要对象,在本
节中我们重点讲解用户定义表的创建、修改等设置。临时表存储在tempdb 中,有本地表和
全局表两种类型。在用户不再使用时,临时表自动被SQL Server 删除。
5.1.1 数据类型
表是由列的集合构成,因此表的结构设置,主要是每一列的属性设置,而在设置表之前,
我们要知道SQL Server 系统允许我们为表格列设置什么数据类型。
1. 系统数据类型
系统数据类型是由SQL Server 预先定义好的,可以直接使用。 具体有:
(1) 整型数据类型
①Bigint :用8 个字节存储数字,最高 1 位表示正负值。
②Int (integer ):用4 个字节存储数字,最高 1 位表示正负值。
③Smallint :用2 个字节存储数字,最高 1 位表示正负值。
④Tinyint :用1 个字节存储数字,所有位数用于表示数值,所以表示数值范围为0~255 。
(2) 浮点数据类型
用于存储十进制小数 ,采用只入不舍的方式。
①Real:用4 个字节存储数据的,最高 1 位表示正负值,最大7 位精确位数。
②Float :可以精确到第15 位小数,默认占用8 个字节的存储空间。Float 数据类型也可
以写为float (n )的形式,n 为 1~15 之间的整数值。当n 取 1~7 时,系统用4 个字节存
储它;当n 取8~15 时,用8 个字节存储它。
③Decimal 和numeric :可以提供小数所需要的实际存储空间,可以用2~17 个字节来存
储。也可以将其写为 decimal (p ,s )的形式,数值类型的总位数不包括小数点。例如
decimal (10,4 ),表示共有10 位数,其中整数6 位,小数4 位。
(3) 字符数据类型
用来存储各种字母、数字符号和特殊符号。在使用时需要在其前后加上英文单引号。
①Char :其定义形式为char (n ),表示固定长度字符串,其中n 表示字符数,默认为 1,
取值范围为 1~8000,存储空间为一个字符对应一个字节。例如定义char(20) ,如果只输
入了 14 个字符,在存储数据时仍然分配20 个字节空间,后6 个字节空间用空值填充;
如果输入了24 个字符,截取前20 个字符存储。
②Varchar :其定义形式为Varchar (n ),表是可变长度字符串,其中n 表示字符数,默
认为1,取值范围为1~8000,存储空间为一个字符对应一个字节。和char 类型不同varchar
类型可根据输入数据的实际长度来分配空间。例如定义 Varchar(20) ,如果只输入了 14
个字符,在存储数据只分配 14 个字节空间;但如果输入了24 个字符,仍然只截取前
20 个字符存储。
③Nchar :其定义形式为nchar (n ),表示采用Unicode 字符集的固定长度字符串,其中
n 表示字符数,默认为 1,取值范围为 1~4000,存储空间为一个字符对应两个字节。
④Nvarchar :其定义形式为nvarchar (n ),表示采用Unicode 字符集的可变长度字符串,
其中n 表示字符数,默认为 1,取值范围为 1~4000,存储空间为一个字符对应两个字节。
文档评论(0)