数据库表的创建、管理和数据操作(实验一)


本文整理自网络,侵删。

今天我们就以实验的形式对表的创建、管理和数据操作进行学习,上课吧。

【实验目的】:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识。
【实验要求】:利用SQL语言进行数据库表的各种操作:
1.数据库表的创建、修改和删除操作。
2.向表中进行数据的插入、删除和修改操作。
【实验内容】
1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student、Course、SC。
2.利用INSERT、UPDATE和DELETE语句对上述三张表的数据进行插入、更新和删除操作。
3.在stu_DB库中添加Teacher和TC表,对已建立的学生管理系统中的表添加充足的数据(每个表不少于20条),以便完成本实验的后继操作。
【实验步骤】
一、数据定义
(一)表的创建
在实验一创建的数据库stu_DB中分别用企业管理器和查询分析器,按下面的表结构创建学生管理系统的表。

1.利用企业管理器创建表

(1)打开企业管理器。

(2)选中实验一创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗口右侧选择新建表,弹出如图所示窗体。

 

(3)在这个窗体中,列名列就示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。

(4)在此处可以为表选择文件组,在表中单击右键,选择属性,如果已经为数据库创建了一个次要组,可以在属性窗体的表文件组中为此表选择文件组。应该把一些竞争使用的表放于不同的文件组中,并且让文件组属于不同磁盘,这样可以在表竞争读写时提高并发性能。

(5)创建完成后,单击磁盘图标,并为表取一个名字。注意,应该为表取一个有意义的名字。

2.用Transact_SQL语句创建表

  语法为:

CREATE TABLE 
 [ database_name.[owner].] table_name
 ( {column_name data_type [DEFAULT ‘default_value']|
 [CONSTRAINT CONSTRAINT_name]
 }, […n] [IDENTITY [(seed, increment )]]
 )
 [ON { filegroup | DEFAULT }]
 [TEXTIMAGE_ON {filegroup | DEFAULT }]
【例1】生成一个表名为student的表

create table student
(
 sno CHAR(8) primary key,
 sname CHAR(10) not null,
 ssex CHAR (2) check (ssex='男'or ssex='女'),
 sage smallint,
 sdept CHAR (20) default ('计算机系'),
)

【例2】  创建一张名为Ta1的表,此表中有3列,第一列Pid定义为主键,并且自动增长。第二列Name默认值为Unknown,第三列定义一个约束(日期不能大于输入当天的日期),插入一条记录并进行查询,显示如下图。

CREATE TABLE ta1 
( 
pid int identity(1,1) primary key, 
[name] CHAR(10) default ('unknow'),
birthday datetime CHECK( birthday <getdate() )
)

(二)表的修改
1.用企业管理器修改表
 (1)右键点击所要修改的学生表,选择“设计表”,会弹出如图3-4所示的窗体,在这个窗体中可以更改数据表的字段。在空白处点右键,选择“属性”,弹出另一窗体,在此可以更改约束,也可以增加约束。

2、利用Transact-SQL语句修改表
向表中添加新的字段:在学生表中添加一个“班级”字段,数据类型为字符型。
ALTER TABLE student  ADD class CHAR(6)

删除表中的旧列:将学生表中的“Sdept”字段删除。
ALTER TABLE student DROP COLUMN Sdept

更改表以添加具有约束的列。(sp_help:用于显示参数清单和其数据类型)
给学生表的增加“grade”字段并加上CHECK约束,让其不可以大于100。
ALTER TABLE student ADD grade int CONSTRAINT ch_grade CHECK(grade<100)
EXEC sp_help ch_grade

给学生表中添加“birthday”字段,并且这个日期不能在录入当天的日期之后。
ALTER TABLE student ADD birthday DATETIME NULL
CONSTRAINT ch_birthday CHECK(birthday<getdate())

添加具有默认值的可为空的列:
在学生表中加入“matriculationday”字段,并且这一字段的默认值为录入当天的日期。
ALTER TABLE  student ADD matriculationday smalldatetime NULL
CONSTRAINT adddateflt  DEFAULT getdate() 

请参考上面所给的例子:
自行设计表结构修改操作(不少于8个语句),并进行实验验证。
修改表student,结果如表1-4。
创建表1-5、表1-6,为后续实验建立基础。

阅读剩余部分

相关阅读 >>

sql语法 分隔符理解小结

如何用sql打印出不同的三角形状?(示例)

mysql 执行一条语句的整个过程详细

mssql 游标使用 心得

sql语句case when用法详解

sqlserver 索引的一些总结

mysql命令无法输入中文问题的解决方式

sql怎么删除某一行

sql是什么?

asp.net2.0 sql server数据库连接详解

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...