实验3 表与视图的基本操作
实验3 表与视图的基本操作
实验示例
1.表的创建与使用 1、创建表
SQL Server 2000提供了两种方法创建数据库表,第一种方法是利用企业管理器创建表;另一种方法是利用transact-sql语句中的create table命令创建表。
(1)利用企业管理器创建表
-图3-1 创建表结构对话框
1
数据库原理与应用实验指导
在企业管理器中,展开指定的服务器和数据库,打开想要创建新表的数据库,用右键单击表对象,从弹出的快捷菜单中选择“新建表”选项,或者在工具栏中选择新建图标,就会出现新建表对话框如图3-1,在该对话框中,可以定义列名称、列类型、长度、精度、小数位数、是否允许为空、缺省值、标识列、标识列的初始值、标识列的增量值和是否有行的标识。
(2)利用create table命令创建表。其语法为:
CREATE TABLE [ database_name.[ owner ] .| 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 { filegroup | DEFAULT } ]
< column_definition > ::= { column_name data_type } [ COLLATE < collation_name > ] [ [ DEFAULT constant_expression ] | [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL] [ < column_constraint > ] [ ...n ]
< column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL | NOT NULL ] | [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ON {filegroup | DEFAULT} ] ]}
| [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] [ NOT FOR REPLICATION ] ]
| CHECK [ NOT FOR REPLICATION ]( logical_expression ) } < table_constraint > ::= [ CONSTRAINT constraint_name ] {
[ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] { ( column [ ASC | DESC ] [ ,...n ] ) } [ WITH FILLFACTOR = fillfactor ] [ ON { filegroup | DEFAULT } ]]
| FOREIGN KEY[ ( column [ ,...n ] ) ] REFERENCES ref_table [ ( ref_column [ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] [ NOT FOR REPLICATION ]
| CHECK [ NOT FOR REPLICATION ]( search_conditions )} [例1] 创建一个雇员信息表的create table命令如下:
create table employee(empid int not null primary key clustered, name varchar(20) NOT NULL,sex char(2) NULL,
birthday datetime null,hire_date datetime NOT NULL DEFAULT (getdate()), professional_title varchar(10) null,
salary money null check(salary is null or salary>=450), memo ntext null )。
[例2] 创建一个学生信息表的create table命令如下:(注意该命令执行时,需要class班级表与speciality专业表已存在,或者先暂时把两外码参照子句去掉后执行。)
CREATE TABLE student(sno char(8) NOT NULL PRIMARY KEY,sname char(20) NOT NULL, sclass char(10) NULL DEFAULT('本科'),
2
实验3 表与视图的基本操作
ssex char(2) NULL DEFAULT ('男') CHECK (ssex = '男' or ssex = '女'), sdh varchar(14) NULL ,scsrq datetime NULL , srxrq datetime NULL ,saddr varchar(50) NULL ,
smemo varchar(200) NULL ,spno char(4) NULL ,csno char(4) NULL ,
CONSTRAINT FK_student_class FOREIGN KEY(csno) REFERENCES class(csno), CONSTRAINT FK_student_speciality FOREIGN KEY(spno) REFERENCES speciality(spno))
2、增加、删除和修改字段
(1)利用企业管理器操作表字段
利用企业管理器增加、删除和修改字段 。在企业管理器中,打开指定的服务器中要修改表的数据库,用右键单击要进行修改的表,从弹出的快捷菜单中选择“设计表”选项,则会出现设计表对话框如图3-2,在该对话框中,可以利用图形化工具完成增加、删除和修改字段的操作。
图3-2 表设计器修改表字段
(2)利用alter table命令修改表。
利用transact-sql语言中的alter table命令也可增加、删除和修改表中字段,其语法略,请读者自己查阅。
[例3] 给student表添加sage年龄字段,命令为:
alter table student add sage int --添加sage字段。 [例4] 删除student 表中的sage年龄字段,命令为:
alter table student drop column sage --即可删除sage字段。
3
数据库原理与应用实验指导
3、创建、删除和修改约束
在SQL Server 2000中有5种约束:主键约束、惟一性约束、检查约束、缺省约束、外部键约束,它们的定义也是create table命令的一部分,创建、删除和修改这些约束还可参阅相关完整性约束的内容。
在SQL Server 2000中,在出现设计表窗口时,按工具栏上的属性按钮,即能出现图3-3所示的属性窗体,从中能通过“表”、“关系”、“索引/键”、“check 约束”等选项卡来创建、删除和修改完整性约束。
图3-3 表设计器修改表字段
4、查看表格信息
图3-4 添加、编辑表记录
(1)查看表格的定义:在企业管理器中,打开指定的服务器中的数据库,用右键单击要查看的表,从弹出的快捷菜单中选择“设计表”选项,则会出现设计表对话框,在该对话框中,可以查看表及各字段的信息。
4
实验3 表与视图的基本操作
(2)查看表格中的数据:在企业管理器中,在指定的服务器中某数据库中某表上,右键单击该表,从弹出的快捷菜单中选择“打开表”→“返回所有行”,即可网格方式查看表格中的数据,并能在表的最后交互式添加记录,如图3-4。
(3)查看表格与其他数据库对象的依赖关系:打开数据库中“关系图”,即可直观地查看表格与其他数据库对象的依赖关系。
(4)利用系统存储过程sp_help查看表的信息,如图3-5
图3-5 查看表格信息
5、对表查询
在企业管理器中,右键单击某表,从弹出的快捷菜单中选择“打开表”→“查询”,如图3-6。在出现的交互式查询子窗口中选定表、指定列及查询准则等,即能交互式查询表或多表中的数据,如图3-7所示,不妨自己来实践各种查询操作。
图3-6 启动表查询
5