文档详情

MySQL数据库基础与实践 第2版 课件 CH05 视图和触发器.ppt

发布:2025-02-22约1.68万字共83页下载文档
文本预览下载声明

5.3案例案例:在删除分类时自动删除分类对应的消息记录2.创建消息表创建一张消息表,用于存放消息。?createtablemessage(idintnotnullAUTO_INCREMENTPRIMARYKEY, typeIdintnotnull, msgvarchar(255)notnull, ctimedatetimenotnull);5.3案例案例:在删除分类时自动删除分类对应的消息记录3.创建类型表创建一张类型表,用于存放消息类型,供消息表引用。createtablemtype( idintnotnullAUTO_INCREMENTPRIMARYKEY, typenamevarchar(50)notnull, typedesvarchar(255)notnull);5.3案例案例:在删除分类时自动删除分类对应的消息记录4.创建用户视图创建用于显示的用户视图,目的是为了简化显示,不必额外显示多个基本表。?createviewuser_view(id,typename,msg,ctime)asselectmessage.id,typename,msg,ctimefrommessage,mtypewheremessage.typeId=mtype.id;5.3案例案例:在删除分类时自动删除分类对应的消息记录5.创建类型删除的触发器创建一个mtype表的删除触发器,起作用是在mtype表发生记录删除时,自动删除message表中对应类型的记录。?delimiter$$createtriggerchoose_delete_before_triggerbeforedeleteonmtypeforeachrow begindeletefrommessagewheretypeId=old.id;end;$$delimiter;5.3案例案例:在删除分类时自动删除分类对应的消息记录6.创建测试数据insertintomtype(typename,typedes)values(新闻,每天都是新消息);insertintomtype(typename,typedes)values(速报,最小的长度,最大的信息量);insertintomtype(typename,typedes)values(娱乐,贵圈真乱);insertintomtype(typename,typedes)values(程序员,应该关注);insertintomessage(typeId,msg,ctime)values(1,这是一条新闻,now());insertintomessage(typeId,msg,ctime)values(2,这是一条速报,now());5.3案例案例:在删除分类时自动删除分类对应的消息记录6.创建测试数据insertintomessage(typeId,msg,ctime)values(3,这是一条娱乐,now());insertintomessage(typeId,msg,ctime)values(4,据说程序员长工资了,now());insertintomessage(typeId,msg,ctime)values(4,据说程序员涨工资没用,now());insertintomessage(typeId,msg,ctime)values(4,反正都是得上交的,now());5.3案例案例:在删除分类时自动删除分类对应的消息记录7.查看删除前的数据select*fromuser_view;5.3案例案例:在删除分类时自动删除分类对应的消息记录7.查看删除前的数据select*frommessage;5.3案例案例:在删除分类时自动删除分类对应的消息记录7.查看删除前的数据select*frommtype;5.3案例案例:在删除分类时自动删除分类对应的消息记录8.删除测试deletefrommtypewheretypename=程序员;5.3案例案例:在删除分类时自动删除分类对应的消息记录9.查看删除后的结果select*fromuser_view;5.3案例案例:在删除分类时自动删除分类对应的消息记录9.查看删除后的结果select

显示全部
相似文档