数据库设计表如下:文章类别表、文章表、评论表、留言表。

文章列表表:存放文章类别,首页菜单生成也是从这个表取的。

文章表:存放文章标题、发表时间、内容等信息。

评论表:文章评论内容。

留言表:用户发表的留言。

有两个触发器,用于管理文章的评论次数。评论表增加一条记录,则文章表对应记录的评论数增加1,评论表删除一条记录,则文章表对应记录的评论数减去1。

详细的sql如下:

-- 1、创建库
drop database if exists blog; -- 直接删除数据库,不提醒
create database blog; -- 创建数据库
use blog; -- 选择数据库 -- 2、创建表
--
-- table structure for table `bll_article` 文章
--
drop table if exists `bll_article`;
create table `bll_article` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`createtime` datetime default current_timestamp comment '创建时间',
`creator` varchar(60) not null comment '创建人',
`typeid` bigint(20) default null comment '文章所属类型id',
`title` varchar(50) default null comment '文章标题',
`content` varchar(10000) default null comment '文章内容',
`comcount` int(11) default '0' comment '文章被评论条数',
`readcount` int(11) default '0' comment '文章被阅读条数',
`suggestcount` int(11) default '0' comment '文章被点赞次数',
primary key (`id`)
) engine=innodb default charset=utf8 comment='用户发表的文章'; --
-- table structure for table `bll_articletype` 文章类别
--
drop table if exists `bll_articletype`;
create table `bll_articletype` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`createtime` datetime default current_timestamp comment '创建时间',
`creator` varchar(60) not null comment '创建人',
`typename` varchar(50) default null comment '文章类型名称',
`description` varchar(50) default null comment '描述',
primary key (`id`)
) engine=innodb default charset=utf8 comment='文章类型'; --
-- table structure for table `bll_commont` 评论
--
drop table if exists `bll_comment`;
create table `bll_comment` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`createtime` datetime default current_timestamp comment '创建时间',
`creator` varchar(60) not null comment '创建人',
`articleid` bigint(20) default null comment '被评论的文章id',
`comcontent` varchar(2000) default null comment '评论内容',
`email` varchar(200) default null comment '评论人邮箱',
primary key (`id`)
) engine=innodb default charset=utf8 comment='对文章的评论信息'; --
-- table structure for table `bll_leavemessage` 留言
--
drop table if exists `bll_leavemessage`;
create table `bll_leavemessage` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`createtime` datetime default current_timestamp comment '创建时间',
`creator` varchar(60) not null comment '创建人',
`content` varchar(2000) default null comment '留言内容',
`email` varchar(200) default null comment '留言人邮箱',
primary key (`id`)
) engine=innodb default charset=utf8 comment='留言'; -- 3、创建触发器
-- (1)评论表增加一条记录,则文章表对应记录的评论数增加1
create trigger addcomcount
after insert on bll_comment
for each row
update bll_article set comcount=comcount+1 where id=new.articleid; -- (2)评论删除一条记录,则文章表对应记录的评论数减去1
create trigger pluscomcount
after delete on bll_comment
for each row
update bll_article set comcount=comcount-1 where id=old.articleid; -- 初始化数据
insert into bll_articletype(creator,typename,description) values ('tim','编程','编程技术、设计等');
insert into bll_articletype(creator,typename,description) values ('tim','感悟','人生感悟等');
insert into bll_articletype(creator,typename,description) values ('tim','摄影','拍摄的照片等');
insert into bll_articletype(creator,typename,description) values ('tim','英语','英语文章');

  

最新文章

  1. 计算机人物系列-Mauchly,Eckert,Goldstine
  2. Hive : UDFArgumentTypeException Exactly one argument is expected.
  3. [课程设计]Sprint Three 回顾与总结&发表评论&团队贡献分
  4. RTX二次开发(一)(基于ASP.NET)
  5. (转)Let’s make a DQN 系列
  6. longene QQ 安装目录
  7. 词汇小助手V3.0发布了——不只是一个查单词的软件
  8. 浅谈iOS中的视图优化
  9. SelectSort 选择排序
  10. 安装ipvsadm报错
  11. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)
  12. vue中实现全选功能
  13. Android CmakeList
  14. Ubuntu如何使用Vscode写C++代码
  15. vim学习之git for windows
  16. Flume的概述和安装部署
  17. 手机端网页技术--使自己做的asp.net网页适应手机浏览
  18. cad2008 参照面板 在位编辑后无法使用
  19. SpringBoot拦截器的注册
  20. 登录iOS Dev Center

热门文章

  1. Dynamics 365中的应用程序介绍
  2. 在Dynamics 365中使用SURVEYJS代替对话(Dialog)制作话术
  3. Numpy常用概念-对象的副本和视图、向量化、广播机制
  4. iOS----------常见经典错误
  5. 使用docker部署skywalking
  6. 小学生四则运算(java编程)201571030135
  7. 【原】Java学习笔记025 - 内部类
  8. linux内核IDR机制详解【转】
  9. 一致性哈希算法----nginx负载均衡器配置之一
  10. 基于Angular和Spring WebFlux做个小Demo