当前位置:文档之家› sql数据库的建立和维护

sql数据库的建立和维护

sql数据库的建立和维护
sql数据库的建立和维护

实验二:数据库的建立和维护

学号:姓名:

实验二: 数据库的建立和维护

实验目的

熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

实验内容

建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

实验步骤:

创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表:

(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3所示。

表1 学生信息表:student

表2 课程信息表:course

表3 学生选课表:sc

一. 数据库的建立:

1.用可视化界面建立:

(a)在SQL SERVER2005中用Management Studio-新建数据库;2.命令方式建立:

(a)在SQL SERVER2005中,在新建查询中使用T-SQL语句:(在做如下操作前,请将第一实验建立的XSGL数据库删除) CREATE DATABASE XSGL

ON (NAME='XSGL_DATA',

FILENAME='D:\XSGL.MDF',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=5%)

LOG ON

(NAME='XSGL_Log',

FILENAME='D:\XSGL_Log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

二. 表的建立:

1.用可视化界面建立:

在SQL SERVER2005中用Management Studio—数据库—XSGL—表—右键—新建表;

2.命令方式建立:

在SQL SERVER2005 中的”新建查询”编辑窗口中用下列SQL语句:

use XSGL

Create table student(sno varchar(10) NOT NULL, sname varchar (10) NOT NULL, ssex varchar (2) NOT NULL, sage int NULL, sdept varchar (10) NOT NULL)

go

Create table course(cno varchar (3) NOT NULL , cname varchar (30) NOT NULL, credit int NULL, pcno varchar (3) NULL)

go

Create table sc(sno varchar (10) NOT NULL, cno varchar (30) NOT NULL, grade INT NULL)

go

三. 表数据的添加:

1. 用可视化方法:

I: 在SQL SERVER2005中用Management Studio—数据库—XSGL—表-表名—右键-打开表-返回所有行;

输入下列数据:

2. 在SQL SERVER2005”新建查询”的编辑窗口中使用下列SQL 语句

插入数据:

Select * from student (查看插入前的记录信息)

insert into student(sno,sname, s sex,sage,sdept) values('95001', '李勇', '男', 20, 'CS')

insert into student(sno,sname, s sex,sage,sdept) values('95002', '刘晨', '女', 19, 'IS')

insert into student(sno,sname, s sex,sage,sdept) values('95003', '王敏', '女', 18, 'MA')

insert into student(sno,sname, s sex,sage,sdept) values('95004', '张立', '男', 19, 'IS')

insert into student(sno,sname, s sex,sage,sdept) values('95005', '刘云', '女', 18, 'CS ')

Select * from student (查看插入后的记录信息)

Select * from course (查看插入前的记录信息)

insert into course(cno, c name,credit,pcno) values('1', '数据库', 4, '5') insert into course(cno, c name,credit,pcno) values('2', '数学', 6, null) insert into course(cno, c name,credit,pcno) values('3', '信息系统', 3, '1') insert into course(cno, c name,credit,pcno) values('4', '操作系统', 4, '6') insert into course(cno, c name,credit,pcno) values('5', '数据结构', 4, '7') insert into course(cno, c name,credit,pcno) values('6', '数据处理', 3, null)

insert into course(cno, c name,credit,pcno) values('7', 'PASCAL语言', 4, '6')

Select * from course (查看插入前的记录信息)

Select * from sc (查看插入前的记录信息)

insert into sc(sno,cno,grade) values('95001', '1' ,92)

insert into sc(sno,cno,grade) values('95001', '2' ,85)

insert into sc(sno,cno,grade) values('95001', '3' ,88)

insert into sc(sno,cno,grade) values('95002', '2' ,90)

insert into sc(sno,cno,grade) values('95002', '3' ,80)

insert into sc(sno,cno,grade) values('95003', '2' ,85)

insert into sc(sno,cno,grade) values('95004', '1' ,58)

insert into sc(sno,cno,grade) values('95004', '2' ,85)

Select * from sc (查看插入后的记录信息)

四. 表数据的修改:

1. 用可视化方法:

在SQL SERVER 2005中用Management Studio—数据库—XSGL—表-表名—右键-打开表-返回所有行;

在表格中将相应的数据修改即可。

2.命令方法:在SQL SERVER2005”新建查询”的编辑窗口中使用下列SQL 语句修改数据。

1)将所有学生的年龄增加一岁:

Select * from student (查看更新前的记录)

update student set sage=sage+1

Select * from student (查看更新后的记录)

2)将4号课程的学分改为5:

Select * from course (查看更新前的记录)

update course set credit=4 where cno=5

Select * from course (查看更新后的记录)

3)设置7号课程没有先行课:

Select * from course (查看更新前的记录)

update course set pcno=null where cno=7

Select * from course (查看更新后的记录)

4)将95001号学生的1号课程的成绩增加3分:

Select * from sc (查看更新前的记录)

update sc set grade=grade+3 where sno=’95001’ and cno=’1’

Select * from sc (查看更新后的记录)

五. 表数据的删除:

1. 用可视化方法:

在SQL SERVER中Management Studio—数据库—XSGL—表-表名—右键-打开表-返回所有行;

单击左边的行标记, 选定某一行, 或单击后拖动选择相邻的多行, 再右击鼠标选择弹出式菜单中的删除。

2.命令方法:在SQL SERVER2005”新建查询”的编辑窗口中使用下列SQL 语句删除数据。

1)删除学号为95005的学生的记录:

Select * from student (查看删除前的记录)

delete from student where sno=’95005’

Select * from student(查看删除后的记录)

2)删除所有的课程记录:

Select * from course (查看删除前的记录)

delete from course

Select * from course (查看删除后的记录)

3) 删除成绩为不及格(少于60分)的学生的选课记录:

Select * from sc (查看删除前的记录)

delete from sc where grade<60

Select * from sc (查看删除后的记录)

思考:

比较用可视化界面与命令方式在数据的插入、修改、删除方面的优缺点。

相关主题
文本预览
相关文档 最新文档