mysql数据库实验报告一

前言

《数据库原理I》实验指导书

实验课程性质:非独立开课 开课学期:第4学期
适用专业:计算机科学与技术、软件工程 学时数:8

第一部分 绪论
一、《数据库原理I》实验的作用与任务
通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型技术有较深入的了解,使学生的动手能力有较大的提高。另外,通过上机实践善于发现数据库应用程序中的错误,并且快速排除这些错误,使其正确运行,为今后使用大型数据库进行数据库应用系统的开发积累经验。
二、《数据库原理I》实验基础知识
本课程的任务是通过各个教学环节,运用各种教学手段和方法,使学生在掌握数据模型、数据库管理系统、数据库语言及数据库设计理论等基本理论知识的基础上,逐步具有开发和设计数据库的能力,为进一步开发和设计大型信息系统打下坚实基础。
三、《数据库原理I》实验教学项目及教学要求
在这里插入图片描述

实验操作指导

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

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

解决方法

第1-6题:
能直接制作出来就不按要求展示SQL语句了,apply后有完整的句子有兴趣可自己学习及进行优化更改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第7题:
如果使用SQL语句实现,则
举个例子:

# 创建Student表
create table STUDENT
(Sno char(20)primary key,
Sname char(20)unique,
Ssex char(2),
Sage smallint,
Sdept char(20)
); 
#单句执行 用时按Ctrl和Enter键

#创建Course表
create table COURSE
(Cno char(4)primary key,
Cname char(40)not null,
Cpno char(4),
Ccredit smallint,
foreign key(Cpno)references COURSE (Cno)
); 

#创建SC表
create table SC
(Sno char(20),
Cno char(4),
Grade smallint,
primary key(Sno,Cno),
foreign key(Sno)references STUDENT(Sno),
foreign key(Cno)references COURSE(Cno)
);

插入数据

# Student插入数据时这样没什么问题。
insert into STUDENT(Sno,Sname,Ssex,Sage,Sdept) values('201215121','李勇','男',20,'CS');
insert into STUDENT(Sno,Sname,Ssex,Sage,Sdept) values('201215122','刘晨','女',19,'CS');
insert into STUDENT(Sno,Sname,Ssex,Sage,Sdept) values('201215123','王敏','女',19,'MA');
insert into STUDENT(Sno,Sname,Ssex,Sage,Sdept) values('201215125','张立','男',19,'IS');
select *from student;#显示表 当然也可以点击再次修改表的右边那个表格图标
#多执行 用时按Ctrl、Shift、Enter键

在这里插入图片描述

insert into COURSE(Cno,Cname)values('1','数据库');
insert into COURSE(Cno,Cname)values('2','数学');
insert into COURSE(Cno,Cname)values('3','信息系统');
insert into COURSE(Cno,Cname)values('4','操作系统');
insert into COURSE(Cno,Cname)values('5','数据结构');
insert into COURSE(Cno,Cname)values('6','数据处理');
insert into COURSE(Cno,Cname)values('7','PASCAL语言');
#这一块要先执行,再执行下面那块代码

2、再用更新语句“插入”剩余数据

update COURSE set Cpno='5',Ccredit = 4 where Cno = '1';
update COURSE set Cpno=NULL,Ccredit = 2 where Cno = '2';#注意不能将Cpno=NULL写成Cpno=''
update COURSE set Cpno='1',Ccredit = 4 where Cno = '3';
update COURSE set Cpno='6',Ccredit = 3 where Cno = '4';
update COURSE set Cpno='7',Ccredit = 4 where Cno = '5';
update COURSE set Cpno=NULL,Ccredit = 2 where Cno = '6';
update COURSE set Cpno='6',Ccredit = 4 where Cno = '7';

SC表数据插入

#虽然SC表也使用了外键,但在Course插入数据之后可以按常规方法插入
#先把Course数据插入之后再对SC表进行插入数据
insert into SC(Sno,Cno,Grade) values('201215121','1',92);
insert into SC(Sno,Cno,Grade) values('201215121','2',85);
insert into SC(Sno,Cno,Grade) values('201215121','3',88);
insert into SC(Sno,Cno,Grade) values('201215122','2',90);
insert into SC(Sno,Cno,Grade) values('201215122','3',80);
select *from SC; 

第8题:
a:
非空:alter table student modify sno char(8) not null;
唯一:alter table student add unique(sno);
b:
增加一个字段SBIRTH,
Alter table student add sbirth text;
增加STUDENT表中ADDRESS字段;
Alter table student add column address;
c:
删除则将add改为drop
d:
将a中student改为course

第9题:
创建表DD : create table dd(dd text);
删除表DD : drop table dd;

第10题:
用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;
Create unique index stusname on student(sname desc);

第11题:
用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引;
Create unique index scgrade on sc(grade);

第12题:
用SQL语言DROP语句删除索引;
drop index stusname on student;
Drop index scgrade on sc;

第13-14题:
直接修改和保存

实验目的

1.了解MySQL程序构成、安装、管理方法。
2.了解MySQL数据库及表结构。
3.熟练掌握SQL语言进行基本表结构的创建。
4.熟练应用SQL语言进行表结构的修改。
5.掌握SQL语言进行基本表的删除。
6.掌握SQL语言进行索引的建立和删除。

实验内容及操作步骤

第1~14题

实验遇到的问题及体会

1.安装好MySQL与mysql workbench之间连接问题,经常的再计算机管理里重启mysql
2.对PK/NN/UQ/B/UN/ZF/AI/G不理解
3.sql语句再mysql workbench中经常报错

  • 4
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佳美不ERROR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值