第四章 --数据库中表的基本操作
4.1 SQL Server表概述
4.3 表结构的修改
4.4 表的删除
4.2 数据库中表的创建
4.5 表中数据的添加
4.7 应用举例
4.6 数据库中表的查看第四章目录
1.表的概念关系数据库的理论基础是关系模型,它直接描述数据库中数据的逻 辑结构 。
关系模型的数据结构是一种二维表格结构,在关系模型中现实世界的实体与实体之间的联系均用二维表格来表示,在
SQL Server数据库中,表定义为列的集合,数据在表中是按行和列的格式组织排列的 。 每行代表唯一的一条记录,而每列代表记录中的一个域 。
4.1.1 SQL Server表的概念
4.1 SQL Server表概述第四章
2,SQL Server表与关系模型的对应
SQL Server数据库中表的有关术语与关系模型中基本术语之间的对应关系如表
4.2所示。
3.表的设计对于开发一个大型的管理信息系统,必须按照数据库设计理论与设 计规范对数据库专门的设计,这样开发出来的管理信息系统才能既满足用户需求,又具有良好的可维护性与可扩充性。
4.1.2 SQL Server 2000数据类型
1,二进制数据二进制数据常用于存储图像等数据,它包括二进制数据 binary、变长二进制数据类型 varbinary和 image3种
2,字符型数据类型字符型数据用于存储汉字,英文字母,数字,
标点和各种符号,输入时必须由英文单引号括起来 。 字符型数据有定长字符串类型
char,变长字符串类型 varchar和文本类型 3种 。
第四章
3,Unicode字符数据
Unicode标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案。所有的计算机都用单一的 Unicode标准,Unicode数据中的位模式一致地翻译成字符,这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数据可以随意地从一个数据库或计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。 Unicode字符数据有定长字符型 nchar、变长字符型
nvarchar和文本类型 ntext3种。
4.日期时间型数据日期时间型数据用于存储日期和时间数据
,日期时间型数据类型包括 datetime和
smalldatetime。
5.整数型数据整数型数据用于存储整数,有 biging,
int,smallint和 tinyint4种类型。
6.精确数值型数据精确数值型数据用于存储带有小数点且小数点后位数确定的实数。主要包括 decimal和
numeric两种。
第四章
7,近似数值数据近似数值型数据用于存储浮点数,包括 float和 real两种。
8,货币数据货币数据由十进制货币的数值数据组成,货币数据有 money和 smallmoney两种。
9,位类型数据位类型数据用于存储整数,只能取
1,0或 NULL,常用于逻辑数据的存储
。在位类型的字段中输入 0和 1之外的任何值,系统都会作为 1来处理。如果一个表中有 8个以下的位类型数据字段,则系统会用一个字节存储这些字段,如果表中有 9个以上 16个以下位类型数据字段,则系统会用两个字段来存储这些字段。
4.2 数据库中表的创建
4.2.1 使用企业管理器创建表
1,创建表的步骤
( 1) 定义表结构:给表的每一列取字段名
,并确定每一列的数据类型,数据长度,列数据是否可以为空等 。
( 2) 设置约束:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性 。
( 3)添加数据:表结构建立完成之后,应该向表中输入数据。
第四章
( 1)打开企业管理器,展开控制台根目录,依次展开服务器组、服务器、
数据库节点,选择在其中建立表的数据库,这里我们选择 Student数据库,如图 4.1所示,用鼠标右键单击,表,图标,在弹出的快捷菜单中选择,新建表,
命令,启动表设计器,如图 4.2所示。
(2)在表设计器窗口上部网格中,
每一行描述了表中一个字段,每行有四列,这四列分别描述了列名、数据类型、
数据长度和允许空等属性
2,创建表 (图见教材 )
第四章
(3)插入、删除列。在定义表结构时,
可以在某一字段的上边插入一个新字段,
也可以删除一个字段。方法是,在表设计器窗口的上部网格中用鼠标右键单击该字段,在弹出的菜单中选择,插入列,
或,删除列,,如图 4.3所示。
(4)保存表。单击表设计器工具栏上的,保存,按钮,出现保存对话框,如图 4.4所示,输入,班级,并单击,确定,按钮,然后关闭表设计器完成表的定义。
1.CREATE TABLE语句的语法
CREATE TABLE
[database_name.][owner.]table_name
({<column_definition>
|column_name
as computed_column_expression
|<table_constraint>::=[CONSTRAINT
constraint_name]}
|[{PRIMARY KEY|UNIQUE}[,… n]
)[ON
{filegroup|DEFAULT}][TEXTIMAGE_ON{file
group|DEFAULT}]
4.2.2 使用 T-SQL语句创建表第四章其中 <column_definition>的语法如下:
<column_definition>::={column_name
data_type}
[NULL|NOT NULL]
[[DEFAULT constant_expression]
|[IDENTITY[(seed,increment)[NOT FOR
REPLICATION] ]]]
[ROWGUIDCOL][COLLATE<collation_name
>]
[<column_constraint>][… n]
参数含义说明,
·database_name:指定新建表所置于的数据库名,若该名不指定就会置于当前数据库中 。
·owner:指定数据库所有者的名称,它必须是
database_name所指定的数据库中现有的用户
ID。
·Table_name:指定新建表的名称,需在一个数据库中是唯一的,且遵循 T-SQL语言中的标识符规则,表名长度不能超过 128个字符,对于临时表则表名长度不能超过 116个字符 。
·column_name:指定列的名称,在表内必须唯一 。
·computed_column_expression:指定该计算列定义的表达式 。
第四章
·ON{filegroup|DEFAULT}:指定存储新建表的数据库文件组名称。如果使用了 DEFAULT或省略了 ON子句,则新建的表会存储在数据库的默认文件组中。
·TEXTIMAGE_ON:指定 TEXT,NTEXT和 IMAGE列的数据存储的数据库文件组。若省略该子句,
这些类型的数据就和表一起存储在相同的文件组中。如果表中没有 TEXT,NTEXT和 IMAGE
列,则可以省略 TEXTIMAGE_ON子句。
·data_type:指定列的数据类型,可以是系统数据类型或者用户自定义数据类型。
·NULL|NOT NULL:说明列值是否允许为 NULL。
在 SQL Server中,NULL既不是 0也不是空格,
它意味着用户还没有为列输入数据或是明确地插入了 NULL。
·IDENTITY:指定列为一个标识列,一个表中只能有一个 IDENTITY标识列。当用户向数据表中插入新数据行时,系统将为该列赋予唯一的、递增的值。 IDENTITY列通常与
PRIMARY KEY约束一起使用,该列值不能由用户更新,不能为空值,也不能绑定默认值和 DEFAULT约束。
·seed:指定 IDENTITY列的初始值。默认值为 1。
·increment:指定 IDENTITY列的列值增量,默认值为 1。
·NOT FOR REPLICATION:指定列的 IDENTITY属性,在把从其他表中复制的数据插入到表中时不发生作用。
·FOWGUIDCOL:指定列为全局唯一标识符列。此列的数据类型必须为 UNIQUEDENTIFIER类型,
一个表中数据类型为 UNIQUEDENTIFIER的列中只能有一个列被定义为 FOWGUIDCOL列。
FOWGUIDCOL属性不会使列值具有唯一性,也不会自动生成一个新的数值给插入的行。
2,CREATE TABLE语句的使用字段名 数据类型 长度 是否为空系部代码 char 2 否系部名称 varchar 30 否系主任 char 8 是图4.
5
用T-
SQ
L
语句创建系部表第四章
4.3 表结构的修改
4.3.1 使用企业管理器修改表结构
( 1) 打开企业管理器,展开,服务器组 — 服务器 — 数据库,节点,选择相应的数据库,展开表对象 。
( 2) 在企业管理器的明细窗格中,用鼠标右键单击要修改的表,在弹出的快捷菜单中选择,设计表,命令,打开表设计器 。
第四章
( 3)在表设计器中修改各字段的定义,
如字段名、字段类型、字段长度、是否为空等。
( 4)添加、删除字段。如果要增加一个字段,将光标移动到最后一个字段的下边,
输入新字段的定义即可。如果要在某一字段前插入一个字段,用鼠标右键单击该字段,在弹出的快捷菜单中选择,插入列,
命令。如果要删除某列,用鼠标右键单击该列,在弹出的快捷菜单中选择,删除列,
命令。
4.3.2 使用 T-SQL语句修改表结构使用 ALTER TABLE语句可以对表的结构和约束进行修改 。 ALTER TABLE语句的语法格式如下:
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>]|column_name AS
computed_column_expression}[,… n]
|[WITH CHECK|WITH NOCHECK]ADD
{<table_constraint>}[,… n]|DROP
{[CONSTRAINT]constraint_name|COLUMN
column}[,… n]
|[CHECK|NOCHECK]CONSTRAINT
{ALL|constraint_name[,… n]}
|{ENABLE|DISABLE}TRIGGER{ALL|trigger_name
[,… n]}
}
参数含义说明,
·table_name:要更改的表的名称 。 若表不在当前数据库中或表不属于当前用户,就必须指定其的列所属的数据库名称和所有者名称 。
·ALTER COLUMN:指定要更改的列 。
·new_data_type:指定新的数据类型名称 。
·precision:指定新数据类型的精度 。
第四章
·scale:指定新数据类型的小数位数。
·WITH CHECK|WITH NOCHECK:指定向表中添加新的或者打开原有的 FOREIGN KEY约束或 CHECK约束的时候,是否对表中已有的数据进行约束验证。对于新添加的约束,
系统默认为 WITH CHECK,WITH NOCHECK
作为启用旧约束的缺省选项。该参数对于主关键字约束和唯一性约束无效。
·{ADD|DROP}ROWGUIDCOL:添加或删除列的 ROWGUIDCOL属性。 ROWGUIDCOL属性只能指定给一个 UNIQUEIDENTIFIER列。
·ADD:添加一个或多个列。
·computed_column_expression:计算列的计算表达式。
·DROP{[CONSTRAINT]constraint_name|C
OLUMN column_name}:指定要删除的约束或列的名称。
·{CHECK|NOCHECK}CONSTRAINT:启用或禁用某约束,若设置 ALL则启用或禁用所有的约束。但该参数只适用于 CHECK和
FOREIGN KEY约束。
·{ENABLE|DISABLE}TRIGGER:启用或禁用触发器。当一个触发器被禁用后,在表上执行 INSERT,UPDATE
或者 DELETE语句时,触发器将不起作用,但是它对表的定义依然存在。
ALL选项启用或禁用所有的触发器。
Trigger_name为指定触发器名称。
4.4 表的删除
4.4.1 使用企业管理器删除表
【 例 4.7】 在 student数据库中删除,教师,表 。
操作步骤如下:
( 1) 打开企业管理器,展开,服务器组 — 服务器 — 数据库,节点,选择相应的数据库并展开其中的表结点 。
( 2) 在企业管理器的明细窗格中,用鼠标右键单击要删除的表,在弹出的快捷菜单中选择
,删除,命令,出现如图 4.6所示的,除去对象,对话框,单击,全部除去,按钮可删除表 。
第四章
4.4.2 使用 DROP TABLE语句删除表
【 例 4.8】 在 student数据库中删除,系部,表 。
在查询窗口中输入如下命令:
USE student
GO
DROP TABLE系部
GO
第四章
4.5 表中数据的添加
4.5.1 使用企业管理器向表中添加数据
( 1) 在企业管理器中,依次展开,服务器组
—服务器 —数据库,节点,选择相应的数据库并展开其中的表结点,在明细窗格中用鼠标右键单击,系部,表,弹出如图 4.7所示的快捷菜单,单击,打开表 /返回所有行 ( A),命令
,就会打开查询设计器的结果窗口,如图 4.8
所示 。
(2)输入数据 。 在查询设计器的表中可以输入新记录,也可以修改和删除已经输入的记录 。
将表 4.8“系部,表中的数据输入到,系部,表中,如图 4.8所示 。
第四章
4.5.2 使用 INSERT语句向表中添加数 据
【 例 4.10】 使用 INSERT 语 句 向
student数据库的,系部,表中添加新记录 。
在查询分析器的查询窗口中输入如下语句:
USE student
GO
INSERT 系部
Values('03','数学系 ','徐裕光 ')
GO
第四章
4.6.1 查看表结构可以使用企业管理器和系统存储过程查看表结构 。
( 1)使用企业管理器查看。依次展开,服务器组 —服务器 —数据库,节点,选择相应的数据库并展开其中的表结点,2)使用系统存储过程 sp_help查看。其语法格式为:
[EXECUTE] sp_help [表名 ]
4.6 数据库中表的查看第四章例如,查看 student数据库中
,专业,表的结构,使用下列语句:
USE student
GO
EXECUTE sp_help 专业
GO
4.6.2 查看表中的数据可以使用企业管理器和查询分析器查看表中的数据 。
( 1) 使用企业管理器查看 。 依次展开
,服务器组 — 服务器 — 数据库,节点,
选择相应的数据库并展开其中的表结点,在明细窗格中用鼠标右键单击
,系部,表,弹出如图 4.7所示的快捷菜单,单击,打开表 /返回所有 行
( A),命令,就会在查询设计器的结果窗口中看到表中的数据,如图 4.8所示 。
第四章
( 2)使用查询分析器查看。使用查询分析器查看表中数据的操作方法如下:
打开查询分析器,在,对象浏览器,中选择相应的数据库(如 jifei),展开数据库目录和用户表目录,用鼠标右键单击要查看的表(如,管理员,表),
弹出快捷菜单,如图 4.12所示。在快捷菜单中选择,打开,命令,出现如图
4.13所示的打开表窗口,在此打开表窗口中用户可以查看、修改和删除表中的数据。
4.7 应用举例
4.7.1 学生选课管理信息系统的各表定义及创建
4.7.2 计算机计费系统的各表定义及创建练 习 题
1,简述在 SQL Server 2000中创建表的步骤 。
2,创建,学生选课管理信息系统,和,计算机计费系统,数 据库中的各表,并查看各表信息 。
第四章谢谢各位同学!
返回主页第四章