数据库实验一 熟悉数据库管理系统环境及SQL定义语言

实验一

在这里插入图片描述
在这里插入图片描述

一共12个任务,我们一个一个来

一和二毫无意义,我们从三开始

三.3.利用SQL Server企业管理组件创建数据库“Student”

在这里插入图片描述
右键单击数据库——新建数据库——输入名称Student——确定
OK,这个任务就完成啦

四、打开“Student”数据库,利用SQL Server企业管理组件建立如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立

首先点开数据库student,点击表,右键单击新建表,按照实验指导书内的内容进行填写即可。
在这里插入图片描述
按下Ctrl+S保存,输入表名student
在这里插入图片描述
这时候就能看见新建的表啦!如果没看见也不要着急,右键单击表,点刷新,student表就出来了。
新建course表的时候特别注意一下,要求学分的小数位数为1,则numeric(18.1)表示18位有效数字,1位小数。
在这里插入图片描述
在这里插入图片描述
建立SC表的时候也要注意小数的问题

至此,第四步就做完了

五、按图1-3所示的三个表中的数据利用企业管理器打开表,输入数据;

输入数据不用多讲,输!
右键单击student表,选择编辑前200行;
sc表和course同理;
记得一定要随手Ctrl+s保存 ,我上次上机课代码全没啦,老师也不信我写了
对了,刚才好像忘了说设置主键了
右键点击,设置主键
sc表要设置两个主键,按住Ctrl选择sno和cno,点设置主键,就可以设置两个主键

强烈建议大家先填数据再设置主键,要不然都会被警告烦死
大功告成
在这里插入图片描述

六、6.打开查询分析器,用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照上图)

在这里插入图片描述
创建表格,贴代码
由于我们创建过三个表,所以我们这次创建student1,sc1和course1,。


create table student1
(sno char(8) primary key,       
 sname char(8) not null unique, 
 ssex char(2) default '男' check(ssex='男' or ssex='女'),  
 sage int check(sage>13 and sage<50),
 sdept char(20))

 create table course1				  
(cno char(3) PRimary key,        
 cname varchar(20),  
 cpno char(2),       
 credit numeric)	 

create table sc1        
(sno char(8),           
 cno char(3),           
 grade numeric,         
 constraint pk_grade primary key(sno,cno),
 constraint fk_stuid foreign key(sno) references student1(sno),
 constraint fk_course foreign key(cno) references course1(cno),
 constraint ck_grade check(grade>=0 and grade<=100) )

七、7.用SQL语言ALTER语句修改表结构;

a)STUDENT表中SNO设为非空和唯一;
b)STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符);
删除STUDENT表中ADDRESS字段;
对于a:

alter table student1
add constraint weiyi unique (sno)

对于b:

alter table student 
add SBIRTH date
alter table student 
add ADDRESS char(50)

删除

alter table student
drop column ADDRESS

八、重新定义一个简单表,然后用SQL语言DROP语句删除该表结构

定义一个简单表

create table student11
(
sno char(8)
)

删除

drop table student11

九、用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引

create index snamedesc
on student(sname desc)

十、用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引

create index gradeasc
on sc(grade asc)

十一、用SQL语言DROP语句删除索引

drop index snamedesc on student
drop index gradeasc on sc

十二和十三没必要写了,第一个实验差不多就到这了,如果发现有错误,请指正,私聊我,要不然错误摆在这很难堪的呀。。。。。。

  • 11
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此为吉林大学数据库实验报告,实验内容为: 实验熟悉MySQL环境SQL定义语言 一、实验目的: 1. 了解MySQL程序构成、安装、管理方法。 2. 了解MySQL数据库及表结构。 3. 熟练掌握SQL语言进行基本表结构的创建。 4. 熟练应用SQL语言进行表结构的修改。 5. 掌握SQL语言进行基本表的删除。 6. 掌握SQL语言进行索引的建立和删除。 二、实验内容和主要步骤: 1. 参考“MYSQL简体中文参考文档.chm”,熟悉MySQL构成和功能特性。 2. 打开Windows服务管理器,实验启动、停止MySQL服务,了解MySQL的服务管理方法; 3. 打开“MySQL管理控制台.bat”,熟悉控制台中操作数据库; 4. 利用控制台创建“Student数据库”。 5. 打开“Student”数据库,创建如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立: 7. 用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一) 8. 用SQL语言ALTER语句修改表结构; a) STUDENT表中SNO设为非空和唯一; b) STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符); c) 删除STUDENT表中ADDRESS字段; d) COURSE表中CNO字段设为非空和唯一; 9. 重新定义一个简单表,然后用SQL语言DROP语句删除该表结构; 10. 用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引; 11. 用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引; 12. 用SQL语言DROP语句删除索引; 13. 输入部分数据,并试着修改其中的错误; 注: 实验SQL语言进行简单查询 一、实验目的: 1. 掌握SQL查询语句的一般格式 2. 掌握简单数据查询操作。 3. 熟练掌握各种查询条件的表示。 4. 掌握排序和分组操作在SQL语句中的实现。 5. 掌握集函数的使用。 二、实验内容和主要步骤: 1. 创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据) 2. 对各表中的数据进行不同条件的查询; 1) 查询全体学生的学号和姓名 2) 查询全体学生的详细记录 3) 查询所有选修过课程的学生学号 4) 查询考试有不及格的学生学号 5) 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 6) 查询选修了4号课的学生学号和成绩,结果按成绩降序排列 7) 查询每个课程号和相应的选课人数 8) 查询计算机系(CS)的学生姓名、年龄、系别 9) 查询年龄18-20岁的学生学号、姓名、系别、年龄; 10) 查询姓刘的学生情况 11) 查询既选修1号课程,又选修2号课程的学生学号 12) 查询学生的姓名和出生年份(今年2003年) 13) 查询没有成绩的学生学号和课程号 14) 查询总成绩大于200分的学生学号 15) 查询每门课程不及格学生人数 16) 查询不及格课程超过3门的学生学号 17) 查询年龄在10到19岁之间的学生信息 18) 查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列 19) 查询选了1号课程的学生平均成绩 20) 查询选了3号课程的学生的最高分 21) 查询每个同学的总成绩 实验SQL进行复杂查询 一、实验目的: 1. 熟练掌握各种连接查询及其连接条件。 2. 掌握各种嵌套查询的使用。 3. 掌握复杂的集合查询。 二、内容和主要步骤: 1.实验一中的数据为基础 2.对各表中的数据进行不同条件的连接查询和嵌套查询; 1) 查询每个学生及其选课情况; 2) 查询每门课的间接先修课 3) 将STUDENT,SC进行右连接 4) 查询有不及格的学生姓名和所在系 5) 查询所有成绩为优秀(大于90分)的学生姓名 6) 查询既选修了2号课程又选修了3号课程的学生姓名、学号; 7) 查询和刘晨同一年龄的学生 8) 选修了课程名为“数据库”的学生姓名和年龄 9) 查询其他系比IS系任一学生年龄小的学生名单 10) 查询其他系中比IS系所有学生年龄都小的学生名单 11) 查询选修了全部课程的学生姓名 12) 查询计算机系学生及其性别是男的学生 13) 查询选修课程1的学生集合和选修2号课程学生集合的差集 14) 查询李丽同学不学的课程的课程号 15) 查询选修了3号课程的学生平均年龄 16) 求每门课程学生的平均成绩 17) 统计每门课程的学生选修人数(超过3人的才统计)。要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列 18) 查询学号比刘晨大,而年龄比他小的学生姓名。 19) 求年龄大于女同学平均年龄的男同学姓名和年龄 20) 求年龄大于所有女同学年龄的男同学姓名和年龄 21) 查询至少选修了95002选修的全部课程的学生号码 22) 查询95001和95002两个学生都选修的课程的信息 实验SQL的常用数据更新操作 一、实验目的: 1. 熟练掌握SQL的常用数据更新操作。 2. 熟练应用INSERT,UPDATE,DELETE语句。 3. 掌握更新操作的各种格式。 二、实验内容和主要步骤 1. 应用INSERT,UPDATE,DELETE语句进行更新操作; 1) 插入如下学生记录(学号:95030,姓名:李莉,年龄:18) 2) 插入如下选课记录(95030,1) 3) 计算机系学生年龄改成20 4) 数学系所有学生成绩改成0 5) 把低于总平均成绩的女同学成绩提高5分 6) 修改2号课程的成绩,若成绩小于75分提高5%,成绩大于75时提高 7) 4%(两个语句实现,注意顺序) 8) 删除95030学生信息 9) 删除SC表中无成绩的记录 10) 删除张娜的选课记录 11) 删除数学系所有学生选课记录 12) 删除不及格的学生选课记录 13) 查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中 14) 把所有学生学号和课程号连接追加到新表中 15) 所有学生年龄增1 16) 统计3门以上课程不及格的学生把相应的学生姓名、系别追加到另外一个表中 2.熟练掌握INSERT,UPDATE,DELETE语句并能综合应用;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值