目录

mysql数据库实验报告一

mysql数据库实验报告一

实验报告一

前言

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

实验课程性质:非独立开课 开课学期:第4学期

适用专业:计算机科学与技术、软件工程 学时数:8

第一部分 绪论

一、《数据库原理I》实验的作用与任务

通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型技术有较深入的了解,使学生的动手能力有较大的提高。另外,通过上机实践善于发现数据库应用程序中的错误,并且快速排除这些错误,使其正确运行,为今后使用大型数据库进行数据库应用系统的开发积累经验。

二、《数据库原理I》实验基础知识

本课程的任务是通过各个教学环节,运用各种教学手段和方法,使学生在掌握数据模型、数据库管理系统、数据库语言及数据库设计理论等基本理论知识的基础上,逐步具有开发和设计数据库的能力,为进一步开发和设计大型信息系统打下坚实基础。

三、《数据库原理I》实验教学项目及教学要求

https://i-blog.csdnimg.cn/blog_migrate/612f9502b0f98c20254d98305166c5fa.png

实验操作指导

https://i-blog.csdnimg.cn/blog_migrate/904ef196fcb233f97e5f2f9e10b92424.png

https://i-blog.csdnimg.cn/blog_migrate/f2706ff7c2b08b0334ee312ae016c759.png

https://i-blog.csdnimg.cn/blog_migrate/790d45bba5ee52a7225ac8cc3b024989.png

https://i-blog.csdnimg.cn/blog_migrate/bcaaaba8b9c0a85d2b63eede72b70c49.png

解决方法

第1-6题:

能直接制作出来就不按要求展示SQL语句了,apply后有完整的句子有兴趣可自己学习及进行优化更改

https://i-blog.csdnimg.cn/blog_migrate/4ad5c22a522a6d233199f741fd4fe682.png

https://i-blog.csdnimg.cn/blog_migrate/8d8797be16141ee1ffde1568f9cd2c17.png

https://i-blog.csdnimg.cn/blog_migrate/da6e054a4385ea2acd0fcf79394aeb4c.png

第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键

https://i-blog.csdnimg.cn/blog_migrate/f67ccf25ebf9a6f456de084ceb6bfe5d.png

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中经常报错