第四章 数据库中表的基本操作
(表)
考试数据库
学生数据、试题数据、教师数
据、试卷数据等要存储起来
学生关系模型、试题关系模型、
教师关系模型、试卷关系模型
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
? 4.2 数据库中表的创建
? 4.3 表的修改与删除
? 4.4 数据的添加与表的查看
? 4.5 案例应用举例
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
表的概念
在 SQL Server数据库中,表定义为列的集合,与 Excel电子表格
相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一
条记录,而每列代表记录中的一个域。
学号 姓名 性别 出生日期 系部 入学时间
000101 张三 男 1980 计算机 2000
000201 李伟 男 1981 经 济 管

2000
010101 王丽 女 1982 数学 2001
关系名属性(列) 属性(列)和属性名
关系模式
关系
元组
主键(码)
学生表
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
SQL Server表与关系模型的对应
关系模型 SQL Server表
关系名 表名
关系 表
关系模式 表的定义
属性 表的列或字段
属性名 字段名或列名
值 列值或字段值
元组 表的行或记录
码 主键
关系完整性 SQL Server的约束
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
表的设计过程中,在 SQL Server创建表有如下限制:
1,每个数据库里最多有 20亿个表 。
2,每个表上最多可以创建一个聚集索引和 249个非聚集
索引 。
3,每个表最多可以配置 1024个字段 。
4,每条记录最多可以占 8060B,但不包括 text字段和
image字段 。
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
基本的数据类型
在创建数据库中的表的时候,牵涉到表体结构,也就
是说牵涉到表中的字段数据的格式,所以为数据列选择数
据类型是一项非常重要的工作。在定义了表列的数据类型
以后,它将作为一项永久的特性被保留下来,而无法改变
。所以精心选择表列的数据类型是建立性能良好的表格的
前提。
数据类型包含 8大类,及几种新的数据类型。
第四章 数据库中表的基本操作
?4.1 SQL Server表的概述
1、整型数据类型
能够存储精确的不带小数点的数字值的方法,可以分为五大类。
bit 取值范围只能是 0或 1,通常用作真假逻辑。
bigint 占用 8个字节
int 占用 4个字节 占用字节数决定存储范围的大小
smallint 占用 2个字节
tiny 占用 1个字节
第四章 数据库中表的基本操作
?掌握基本的数据类型
2、数字 数据类型
可以精确指定小数点两边的总位数 (精度 )和小数点右面的位数 (刻度 ).
1<=精度 <=38 0<=刻度 <=精度
<分配的存储空间随精度的不同而不同 >
numeric
唯一的区别就是在主键为 indentity列,只能定义 numeric类型
decimal
decimal(7,3) 9999.994 / 9999.995
第四章 数据库中表的基本操作
?掌握基本的数据类型
3、浮点数据类型
能够存储范围非常大的数字,一般应用于科学计算或者统计计算
等,不要求绝对精度的运算场合。
real 存储范围占用 4个字节,精度可达 7位。
float(n) 可以用 n来确定科学计数法中的数据尾数的位数,范围

达 53位。当 n的取值为 1~24时,可达到的精度是 7位;当
n的取值是 25~53时,精度是 15位,用 8个字节来存储。
第四章 数据库中表的基本操作
?掌握基本的数据类型
4、字符数据类型
char 每个字符使用一个字节的存储空间,使用固定长度来存储字
符,最长可容纳 8000个。如果实际的字符串小于给定的最大长度,则
会以空格填充,如果实际的字符串大于给定的最大长度,则截断。
varchar 可以存储到 8000个字符的变长字符型数据,存储为实际的
字符串的长度。
text 当要存储的字符的数据量非常庞大时,则使用 text数据类型。
他的最大长度可以达到 2G左右。
第四章 数据库中表的基本操作
?掌握基本的数据类型
5、二进制数据类型
二进制数据在 SQL中用十六进制进行表示,前边用 0x标记。
binary 具有固定长度,最大长度可达 8kb,当输入的实际数据小于定
义的长度时,后面补 0。
varbinary 具有不固定的长度。
image 用于存储字节数超过 8kb的数据,例如图象数据。
第四章 数据库中表的基本操作
?掌握基本的数据类型
对 text,image数据类型:
1、不可使用 select命令中的 order by,group by命令。
2、不可作为索引文件的关键字。
3、也不可使用在 where语句中,但是对于 text数据可以
使用 where语句中的模糊查询。
第四章 数据库中表的基本操作
?掌握基本的数据类型
6、货币数据类型
money 占用 8个字节,前面 4个表示货币的整数,后面 4个表示小数。
small money 占用 4个字节。
7、日期 /时间数据类型
datetime 表示范围 1753年 1月 1日 ~~9999年 12月 31日,占用 8个字节可
以精确到毫秒
small datetime 表示范围 1900年 1月 1日 ~~2079年 6月 6日,占用 4个字节
可以精确到分。
第四章 数据库中表的基本操作
?掌握基本的数据类型
8、双字节数据类型
用于存储要用两个字节才能存储的双字节字符。
nchar(n) 固定长度的双字节,可以存储 1~4000字符。
nvarchar(n) 可变长度的双字节。
ntext(n) 可存储大量的字符。
9,SQL-variant数据类型
可以存储除 text,ntext,image以外的各种类型数据,也不可以自身
转储。 <如果 SQL-variant类型的数据进行计算,则重新转换为本身的数
据类型 >
第四章 数据库中表的基本操作
?掌握基本的数据类型
10,table数据类型
可以用来定义变量或者用于用户自定义函数的返回值,一般用来存储
从数据库中提取出来得结果。
11、图象、文本数据使用时涉及到的几个函数
12、用户自定义数据类型 null
建立语法,sp_addtype type_name,systemtype,not null
删除语法,sp_droptype type_name nonnull
第四章 数据库中表的基本操作
?表的创建
1.使用企业管理器创建表 的步骤:
1) 定义表结构:给表的每一列取字段名, 并确定每一列的数据
类型, 数据长度, 列数据是否可以为空等 。
2) 设置约束:设置约束是为了限制该列输入值的取值范围, 以
保证输入数据的正确性和一致性 。
3)添加数据:表结构建立完成之后,就可以向表中输入数据了。
第四章 数据库中表的基本操作
?表的创建
2.使用 T-SQL语句创建表的基本 语法:
CREATE TABLE
[ database_name.[ owner ],| owner.] table_name
( { < column_definition > }
| [ { PRIMARY KEY | UNIQUE } [,...n ]
)
< column_definition >,:= { column_name data_type }
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed,increment ) [ NOT FOR REPLICATION ] ] ]
]
[ < column_constraint > ] [,..n ]
第四章 数据库中表的基本操作
?表的创建
语法注释:
l database_name,指定创建的表所在的数据库
l owner,指定表的所有者
l table_name,指定新建表的名称
l column_definition,表中字段的定义表达式
l column_name,表中的字段名
l data_type,字段的数据类型
l seed,自动标识的开始值
l increment,自动编号的步长
l CREATE TABLE,创建表语句的关键字
l PRIMARY KEY,主键约束
l UNIQUE, 字段唯一性约束
l DEFAULT,字段的默认值约束
l IDENTITY, 自动编号标识
第四章 数据库中表的基本操作
?表的创建
例,创建带有参照约束的学生表, 学生表的表结构定义如下表所示 。
,学号, 字段为学生表的主键,, 班级代码, 字段为学生表的外
键, 它必须参照班级表中的, 班级代码, 字段的值 。
字段名 字段数据类型 长度 是否为空 约束
学号 char 12 否 主键
姓名 char 8 是
性别 char 2 是
出生日期 datetime 8 是
入学时间 datetime 8 是
班级代码 char 9 否 外键
系部代码 char 2 是
专业代码 char 2 是
第四章 数据库中表的基本操作
?表的创建
创建, 学生, 表的代码如下:
USE Student
GO
CREATE TABLE 学生
(学号 char(12) CONSTRAINT pk_xh PRIMARY KEY,
姓名 char(8),
性别 char(2),
出生日期 datetime,
入学时间 datetime,
班级代码 char(9) CONSTRAINT fk_bjdm REFERENCES 班级 (班级代码 ),
专业代码 char(2),
系部代码 char(2 )
GO
第四章 数据库中表的基本操作
?表的修改
使用企业管理器修改表
1)打开企业管理器, 选择相应的数据库, 展开表节点 。
2)在企业管理器的明细窗格中, 右击要修改的表, 在弹出的快
捷菜单中选择, 设计表, 命令, 打开表设计器 。
3)在表设计器中修改各字段的定义, 如字段名, 字段类型, 字
段长度, 是否为空等 。
4)添加删除字段 。
第四章 数据库中表的基本操作
?表的修改
语法:
ALTER TABLE table_name
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [,scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
} [,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [,...n ]
}
语法:
< column_definition >,:=
{ column_name data_type }
[ [ DEFAULT constant_expression ]
[ WITH VALUES ]
| [ IDENTITY [ ( seed,increment ) [ NOT
FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL ]
[ COLLATE < collation_name > ]
[ < column_constraint > ] [,..n ]
第四章 数据库中表的基本操作
?表的修改
语法注释:
l ALTER COLUMN,修改表列属性的子句
l ADD,增加列或约束的子句
l DROP COLUMN,删除表列的子句
l table_name,需要修改表的表格名称
l column_name,希望增加的字段名
l data_type,需要增加的字段的数据类型名
l collation_name,排序规则名
第四章 数据库中表的基本操作
?表的删除
使用企业管理器删除表
操作步骤如下:
1)打开企业管理器, 选择相应的数据库并展开表节点 。
2)在企业管理器的明细窗格中,右击要删除的表,在弹出的快捷
菜单中选择“删除”命令,出现 除去对象对话框时,单击“全部除
去”按钮即可删除表。
第四章 数据库中表的基本操作
?表的查看
1)使用企业管理器查看
在企业管理器, 右击需要查看结构的表, 在弹出的快捷菜单中选择
,属性, 命令, 打开表属性对话框, 。 单击, 常规, 和, 全文索引, 标签查
看表信息 。
2)使用系统存储过程 sp_help查看
语法格式,[EXECUTE] sp_help [表名 ]
例如, 查看, 班级, 表的结构, 可以使用下列语句:
EXECUTE sp_help 班级
第四章 数据库中表的基本操作
?查看表中的数据
1) 使用企业管理器查看表中的数据
在企业管理器中, 右击需要查看数据的表, 弹出快捷菜单, 单击, 打
开表 — 返回所有的行, 命令, 打开查询设计器的结果窗口查看数据,
2) 使用查询分析器查看表中的数据
打开查询分析器, 在, 对象浏览器, 中选择相应的数据库, 展开数据
库目录和用户表目录, 右击要查看的表, 从弹出快捷菜单中选择, 打开, 命
令, 就会打开表窗口, 在此窗口中用户可以查看, 修改和删除表中的数据 。
第四章 数据库中表的基本操作
?向表中的添加数据
1) 在企业管理器中, 展开相关数据库节点, 单击, 表, 图标, 在明
细窗格中右击需要添加数据的表, 弹出快捷菜单, 单击, 打开表 —
返回所有的行, 命令, 打开查询设计器的结果窗口,
2) 查询设计器的表中可以输入新记录, 也可以修改和删除已经输入
的记录 。