本教程提供MySQL数据库应用形考实验1-4的详细解答及实践技巧分享,涵盖MySQL数据库应用全答案,帮助读者掌握数据库应用实践技能。
本文目录导读:
图片来源于网络,如有侵权联系删除
实验1:创建数据库和表
1、创建数据库
CREATE DATABASE IF NOT EXISTSmydatabase
;
2、使用数据库
USEmydatabase
;
3、创建表
CREATE TABLE IF NOT EXISTSstudents
(id
INT NOT NULL AUTO_INCREMENT,name
VARCHAR(50) NOT NULL,age
INT NOT NULL,class
VARCHAR(50) NOT NULL, PRIMARY KEY (id
) );
实验2:插入、查询、更新、删除数据
1、插入数据
INSERT INTOstudents
(name
,age
,class
) VALUES ('张三', 20, '计算机科学与技术'); INSERT INTOstudents
(name
,age
,class
) VALUES ('李四', 22, '软件工程');
2、查询数据
-- 查询所有数据 SELECT * FROMstudents
; -- 查询年龄大于20岁的学生 SELECT * FROMstudents
WHEREage
> 20;
3、更新数据
图片来源于网络,如有侵权联系删除
-- 将id为1的学生的年龄更新为21 UPDATEstudents
SETage
= 21 WHEREid
= 1;
4、删除数据
-- 删除id为2的学生 DELETE FROMstudents
WHEREid
= 2;
实验3:使用SQL语句实现复杂的查询
1、连接查询
-- 查询每个班级的学生数量 SELECTclass
, COUNT(*) ASnum
FROMstudents
GROUP BYclass
; -- 查询年龄大于20岁的学生及其所在班级 SELECT s.name
, s.age
, c.class
FROMstudents
s JOINclasses
c ON s.class_id
= c.id
WHERE s.age
> 20;
2、子查询
-- 查询年龄大于所有学生的平均年龄的学生 SELECT * FROMstudents
WHEREage
> (SELECT AVG(age
) FROMstudents
);
3、合并查询
-- 查询年龄大于20岁的学生,并按年龄降序排列 SELECT * FROMstudents
WHEREage
> 20 ORDER BYage
DESC;
实验4:使用存储过程和触发器
1、创建存储过程
DELIMITER // CREATE PROCEDUREadd_student
(INname
VARCHAR(50), INage
INT, INclass
VARCHAR(50)) BEGIN INSERT INTOstudents
(name
,age
,class
) VALUES (name
,age
,class
); END // DELIMITER ;
2、调用存储过程
图片来源于网络,如有侵权联系删除
CALLadd_student
('王五', 19, '软件工程');
3、创建触发器
DELIMITER // CREATE TRIGGERbefore_delete_student
BEFORE DELETE ONstudents
FOR EACH ROW BEGIN -- 在删除学生前,打印一条信息 SELECT CONCAT('正在删除学生:',name
); END // DELIMITER ;
4、删除数据并观察触发器效果
-- 删除id为1的学生 DELETE FROMstudents
WHEREid
= 1;
通过以上实验,我们掌握了MySQL数据库的基本操作,包括创建数据库和表、插入、查询、更新、删除数据,以及使用SQL语句实现复杂的查询,我们还学习了存储过程和触发器的创建与使用,为后续学习高级应用打下了基础,在实际应用中,我们应不断积累实践经验,提高数据库操作能力。
评论列表