|
|
|
|
@ -0,0 +1,586 @@
|
|
|
|
|
DROP TABLE IF EXISTS `admin`;
|
|
|
|
|
CREATE TABLE `admin` (
|
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
|
|
|
|
|
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
|
|
|
|
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名',
|
|
|
|
|
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',
|
|
|
|
|
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色标识',
|
|
|
|
|
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',
|
|
|
|
|
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_admin_username`(`username` ASC) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_admin_email`(`email` ASC) USING BTREE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '管理员' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO admin (id, username, password, name, avatar, role, phone, email)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, 'flyao', 'admin', '姚昊', 'http://localhost:9090/files/1735014296914-下载.png', 'ADMIN', NULL, NULL),
|
|
|
|
|
(2, 'Yuki', '123', '梁羽睿', NULL, 'ADMIN', '15905487698', 'yuki.yr.liang@gmail.com'),
|
|
|
|
|
(3, '1', '123', '1', NULL, 'ADMIN', NULL, NULL),
|
|
|
|
|
(4, 'admin1', 'admin123', '李华', 'http://localhost:9090/files/1735014296915-下载1.png', 'ADMIN', '13900139000', 'lihua@example.com'),
|
|
|
|
|
(5, 'admin2', 'admin1234', '王丽', 'http://localhost:9090/files/1735014296916-下载2.png', 'ADMIN', '13700137000', 'wangli@example.com'),
|
|
|
|
|
(6, 'admin3', 'admin12345', '赵强', 'http://localhost:9090/files/1735014296917-下载3.png', 'ADMIN', '13600136000', 'zhaoqiang@example.com'),
|
|
|
|
|
(7, 'admin4', 'admin123456', '孙敏', 'http://localhost:9090/files/1735014296918-下载4.png', 'ADMIN', '13500135000', 'sunmin@example.com'),
|
|
|
|
|
(8, 'admin5', 'admin1234567', '周杰', 'http://localhost:9090/files/1735014296919-下载5.png', 'ADMIN', '13400134000', 'zhoujie@example.com'),
|
|
|
|
|
(9, 'admin6', 'admin12345678', '吴娜', 'http://localhost:9090/files/1735014296920-下载6.png', 'ADMIN', '13300133000', 'wuna@example.com'),
|
|
|
|
|
(10, 'admin7', 'admin123456789', '郑刚', 'http://localhost:9090/files/1735014296921-下载7.png', 'ADMIN', '13200132000', 'zhenggang@example.com'),
|
|
|
|
|
(11, 'admin8', 'admin1234567890', '钱丽', 'http://localhost:9090/files/1735014296922-下载8.png', 'ADMIN', '13100131000', 'qianli@example.com'),
|
|
|
|
|
(12, 'admin9', 'admin12345678901', '王明', 'http://localhost:9090/files/1735014296923-下载9.png', 'ADMIN', '13000130000', 'wangming@example.com');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `activity_publisher`;
|
|
|
|
|
CREATE TABLE `activity_publisher` (
|
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称',
|
|
|
|
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名',
|
|
|
|
|
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
|
|
|
|
|
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
|
|
|
|
|
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱地址',
|
|
|
|
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话号码',
|
|
|
|
|
`organization` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '组织名称', -- 组织名称字段
|
|
|
|
|
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '地址',
|
|
|
|
|
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像图片',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_publisher_username`(`username` ASC) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_publisher_email`(`email` ASC) USING BTREE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '活动发布者信息表' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `activity_publisher` (id, role, name, username, password, email, phone, organization, address, avatar)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, 'ACTIVITY_PUBLISHER', '姚昊', 'flyao1', 'password123', NULL, NULL, '科技协会', '北京市朝阳区', NULL),
|
|
|
|
|
(2, 'ACTIVITY_PUBLISHER', '梁羽睿', 'Yuki1', 'password456', 'yuki.yr.liang@gmail.com', '15905487698', '水下社区', '上海市浦东新区', NULL),
|
|
|
|
|
(3, 'ACTIVITY_PUBLISHER', '张伟', 'zhangwei', 'password123', 'zhangwei@example.com', '13812345678', '珊瑚礁保护组织', '广州市天河区', 'http://localhost:9090/files/avatar1.png'),
|
|
|
|
|
(4, 'ACTIVITY_PUBLISHER', '李婷', 'liting', 'password456', 'liting@example.com', '13987654321', '海洋生物研究会', '杭州市西湖区', 'http://localhost:9090/files/avatar2.png'),
|
|
|
|
|
(5, 'ACTIVITY_PUBLISHER', '王芳', 'wangfang', 'password789', 'wangfang@example.com', '13798765432', '环保志愿者团队', '福建厦门', 'http://localhost:9090/files/avatar3.png'),
|
|
|
|
|
(6, 'ACTIVITY_PUBLISHER', '赵敏', 'zhaomin', 'password202', 'zhaomin@example.com', '13512345678', '潜水培训中心', '杭州市西湖区', 'http://localhost:9090/files/avatar5.png'),
|
|
|
|
|
(7, 'ACTIVITY_PUBLISHER', '张三', 'zhangsan', 'password203', 'zhangsanmin@example.com', '13512345671', '海洋科技公司', '湖北武汉', 'http://localhost:9090/files/avatar6.png'),
|
|
|
|
|
(8, 'ACTIVITY_PUBLISHER', '李四', 'lisi', 'password204', 'lisi@example.com', '13512345672', '海洋教育机构', '陕西西安', 'http://localhost:9090/files/avatar7.png'),
|
|
|
|
|
(9, 'ACTIVITY_PUBLISHER', '王五', 'wangwu', 'password205', 'wangwu@example.com', '13512345673', '海洋旅游公司', '重庆', 'http://localhost:9090/files/avatar8.png'),
|
|
|
|
|
(10, 'ACTIVITY_PUBLISHER', '孙六', 'sunliu', 'password206', 'sunliu@example.com', '13512345674', '深海探险队', '深圳', 'http://localhost:9090/files/avatar9.png');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `user`;
|
|
|
|
|
CREATE TABLE `user` (
|
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
|
|
|
|
|
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
|
|
|
|
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名',
|
|
|
|
|
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',
|
|
|
|
|
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色标识',
|
|
|
|
|
`sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '性别',
|
|
|
|
|
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',
|
|
|
|
|
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
|
|
|
|
|
`info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '简介',
|
|
|
|
|
`birth` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '生日',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_username`(`username` ASC) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_email`(`email` ASC) USING BTREE,
|
|
|
|
|
CONSTRAINT `check_user_sex` CHECK (`sex` in (_utf8mb4'男',_utf8mb4'女'))
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `user` (id, `username`, `password`, `name`, `avatar`, `role`, `sex`, `phone`, `email`, `info`, `birth`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, 'flyao2', 'password1', '姚昊', NULL, 'USER', '男', NULL, NULL, '热爱编程', '2002-03-27'),
|
|
|
|
|
(2, 'Yuki2', 'password2', '梁羽睿', NULL, 'USER', '女', NULL, NULL, '喜欢旅行', '2004-07-13'),
|
|
|
|
|
(3, 'user3', 'password3', '王五', 'http://example.com/avatar3.jpg', 'USER', '男', '13800138003', 'wangwu@example.com', '运动爱好者', '1994-03-03'),
|
|
|
|
|
(4, 'user4', 'password4', '赵六', 'http://example.com/avatar4.jpg', 'USER', '女', '13800138004', 'zhaoliu@example.com', '音乐发烧友', '1996-04-04'),
|
|
|
|
|
(5, 'user5', 'password5', '孙七', 'http://example.com/avatar5.jpg', 'USER', '男', '13800138005', 'sunqi@example.com', '电影迷', '1998-05-05'),
|
|
|
|
|
(6, 'user6', 'password6', '周八', 'http://example.com/avatar6.jpg', 'USER', '女', '13800138006', 'zhouba@example.com', '美食家', '2000-06-06'),
|
|
|
|
|
(7, 'user7', 'password7', '吴九', 'http://example.com/avatar7.jpg', 'USER', '男', '13800138007', 'wujiu@example.com', '摄影爱好者', '2002-07-07'),
|
|
|
|
|
(8, 'user8', 'password8', '郑十', 'http://example.com/avatar8.jpg', 'USER', '女', '13800138008', 'zhengshi@example.com', '读书达人', '2004-08-08'),
|
|
|
|
|
(9, 'user9', 'password9', '钱十一', 'http://example.com/avatar9.jpg', 'USER', '男', '13800138009', 'qianyiyi@example.com', '游戏控', '2006-09-09'),
|
|
|
|
|
(10, 'user10', 'password10', '王十二', 'http://example.com/avatar10.jpg', 'USER', '女', '13800138010', 'wangshizhi@example.com', '时尚博主', '2008-10-10');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `activity`;
|
|
|
|
|
CREATE TABLE `activity` (
|
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动名称',
|
|
|
|
|
`descr` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '活动简介',
|
|
|
|
|
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '活动内容',
|
|
|
|
|
`start` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '开始时间',
|
|
|
|
|
`end` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '结束时间',
|
|
|
|
|
`form` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动形式',
|
|
|
|
|
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动地址',
|
|
|
|
|
`host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '主办方',
|
|
|
|
|
`publisher_id` int NULL DEFAULT NULL COMMENT '活动发布人ID',
|
|
|
|
|
`read_count` int NULL DEFAULT 0 COMMENT '浏览量',
|
|
|
|
|
`cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '封面',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
INDEX `fk_activity_publisher`(`publisher_id` ASC) USING BTREE,
|
|
|
|
|
CONSTRAINT `fk_activity_publisher` FOREIGN KEY (`publisher_id`) REFERENCES `activity_publisher` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '活动' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
-- 触发器1
|
|
|
|
|
-- 创建插入触发器
|
|
|
|
|
-- 插入数据时验证日期
|
|
|
|
|
CREATE TRIGGER before_activity_insert
|
|
|
|
|
BEFORE INSERT ON `activity`
|
|
|
|
|
FOR EACH ROW
|
|
|
|
|
BEGIN
|
|
|
|
|
-- 比较 start 和 end 时间
|
|
|
|
|
IF STR_TO_DATE(NEW.`end`, '%Y-%m-%d') < STR_TO_DATE(NEW.`start`, '%Y-%m-%d') THEN
|
|
|
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '结束时间不能早于开始时间';
|
|
|
|
|
END IF;
|
|
|
|
|
END;
|
|
|
|
|
-- 触发器2
|
|
|
|
|
-- 创建更新触发器
|
|
|
|
|
-- 更新数据时验证日期
|
|
|
|
|
CREATE TRIGGER before_activity_update
|
|
|
|
|
BEFORE UPDATE ON `activity`
|
|
|
|
|
FOR EACH ROW
|
|
|
|
|
BEGIN
|
|
|
|
|
-- 比较 start 和 end 时间
|
|
|
|
|
IF STR_TO_DATE(NEW.`end`, '%Y-%m-%d') < STR_TO_DATE(NEW.`start`, '%Y-%m-%d') THEN
|
|
|
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '结束时间不能早于开始时间';
|
|
|
|
|
END IF;
|
|
|
|
|
END;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `activity` (`id`, `name`, `descr`, `content`, `start`, `end`, `form`, `address`, `host`, `publisher_id`, `read_count`, `cover`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, '科技大会', '一场关于最新科技趋势的研讨会', '<p>详细内容...</p>', '2024-10-01', '2024-11-03', '线下', '科技中心会议厅', '科技协会', 1, 5, 'http://example.com/cover.jpg'),
|
|
|
|
|
(2, '水下摄影大赛', '欢迎各位潜水爱好者参加水下摄影大赛,展现您的拍摄技巧!', '活动内容包含水下摄影技巧比赛、交流讲座等内容。', '2025-01-10', '2025-01-12', '线下', '海南三亚', '水下社区', 2, 0, 'cover1.jpg'),
|
|
|
|
|
(3, '珊瑚礁清理行动', '参加我们的珊瑚礁清理行动,保护美丽的海洋环境。', '大家将一起清理水下垃圾,并进行环境保护宣传。', '2025-02-05', '2025-02-07', '线下', '广东珠海', '珊瑚礁保护组织', 3, 0, 'cover2.jpg'),
|
|
|
|
|
(4, '海洋生物观察', '观察海洋生物,了解海洋生态。', '活动内容包括海洋生物观察、知识讲座等。', '2025-03-15', '2025-03-17', '线下', '福建厦门', '海洋生物研究会', 4, 0, 'cover3.jpg'),
|
|
|
|
|
(5, '环保讲座', '了解环保知识,保护地球家园。', '活动内容包括环保知识讲座、互动问答等。', '2025-04-20', '2025-04-22', '线下', '浙江杭州', '环保志愿者团队', 5, 0, 'cover4.jpg'),
|
|
|
|
|
(6, '潜水培训', '学习潜水技巧,探索神秘海底世界。', '活动内容包括潜水理论学习、实操练习等。', '2025-05-25', '2025-05-27', '线下', '江苏南京', '潜水培训中心', 6, 0, 'cover5.jpg'),
|
|
|
|
|
(7, '海洋科技展览', '展示最新的海洋科技成果。', '活动内容包括科技成果展览、互动体验等。', '2025-06-30', '2025-07-02', '线下', '湖北武汉', '海洋科技公司', 7, 0, 'cover6.jpg'),
|
|
|
|
|
(8, '海洋教育研讨会', '探讨海洋教育的重要性。', '活动内容包括研讨会、案例分享等。', '2025-07-15', '2025-07-17', '线下', '陕西西安', '海洋教育机构', 8, 0, 'cover7.jpg'),
|
|
|
|
|
(9, '海洋旅游节', '体验海洋旅游的乐趣。', '活动内容包括海洋旅游节、特色表演等。', '2025-08-20', '2025-08-22', '线下', '重庆', '海洋旅游公司', 9, 0, 'cover8.jpg'),
|
|
|
|
|
(10, '深海探险', '探索未知的深海世界。', '活动内容包括深海探险、科研交流等。', '2025-09-25', '2025-09-27', '线下', '深圳', '深海探险队', 10, 0, 'cover9.jpg');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `activity_sign`;
|
|
|
|
|
CREATE TABLE activity_sign (
|
|
|
|
|
id INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
activity_id INT NOT NULL COMMENT '活动ID',
|
|
|
|
|
user_id INT NOT NULL COMMENT '用户ID',
|
|
|
|
|
time varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报名时间',
|
|
|
|
|
PRIMARY KEY (id) USING BTREE,
|
|
|
|
|
FOREIGN KEY (activity_id) REFERENCES activity(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
|
FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '活动报名' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `activity_sign` (`activity_id`, `user_id`, `time`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, 1, '2023-09-30 10:00:00'),
|
|
|
|
|
(2, 2, '2024-12-23 11:00:00'),
|
|
|
|
|
(4, 3, '2024-12-15 12:00:00'),
|
|
|
|
|
(7, 4, '2024-12-23 13:00:00'),
|
|
|
|
|
(10, 5, '2024-12-24 14:00:00'),
|
|
|
|
|
(9, 6, '2023-09-29 15:00:00'),
|
|
|
|
|
(6, 7, '2024-12-22 16:00:00'),
|
|
|
|
|
(8, 8, '2024-12-14 17:00:00'),
|
|
|
|
|
(5, 9, '2024-12-22 18:00:00'),
|
|
|
|
|
(9, 10, '2024-12-23 19:00:00');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `category`;
|
|
|
|
|
CREATE TABLE `category` (
|
|
|
|
|
`id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
UNIQUE INDEX `unique_category_name`(`name` ASC) USING BTREE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '博客分类' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `category` (`id`, `name`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, '科技'),
|
|
|
|
|
(2, '海洋'),
|
|
|
|
|
(3, '摄影'),
|
|
|
|
|
(4, '环保'),
|
|
|
|
|
(5, '生物'),
|
|
|
|
|
(6, '培训'),
|
|
|
|
|
(7, '教育'),
|
|
|
|
|
(8, '旅游'),
|
|
|
|
|
(10, '科学'),
|
|
|
|
|
(11, '探索'),
|
|
|
|
|
(12, '生态'),
|
|
|
|
|
(13, '活动'),
|
|
|
|
|
(14, '讲座');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `blog`;
|
|
|
|
|
CREATE TABLE `blog` (
|
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`title` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
|
|
|
|
|
`content` LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '内容',
|
|
|
|
|
`descr` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '简介',
|
|
|
|
|
`cover` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '封面',
|
|
|
|
|
`tags` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签',
|
|
|
|
|
`user_id` INT NOT NULL COMMENT '发布人ID',
|
|
|
|
|
`date` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发布日期',
|
|
|
|
|
`read_count` INT NULL DEFAULT 0 COMMENT '浏览量',
|
|
|
|
|
`category_id` INT NOT NULL COMMENT '分类ID',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
|
FOREIGN KEY (`category_id`) REFERENCES `category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '博客信息' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `blog` (`id`, `title`, `content`, `descr`, `cover`, `tags`, `user_id`, `date`, `read_count`, `category_id`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, '科技改变生活', '<p>科技如何改变我们的生活...</p>', '科技对生活的影响', 'cover1.jpg', '科技,生活', 1, '2023-09-01', 100, 1),
|
|
|
|
|
(2, '海洋保护的重要性', '<p>为什么保护海洋很重要...</p>', '海洋保护的重要性', 'cover2.jpg', '海洋,保护', 2, '2023-10-01', 150, 2),
|
|
|
|
|
(3, '水下摄影技巧', '<p>如何拍摄美丽的水下照片...</p>', '水下摄影技巧', 'cover3.jpg', '摄影,水下', 3, '2023-11-01', 200, 3),
|
|
|
|
|
(4, '珊瑚礁保护', '<p>如何保护珊瑚礁...</p>', '珊瑚礁保护', 'cover4.jpg', '珊瑚礁,保护', 4, '2023-12-01', 250, 4),
|
|
|
|
|
(5, '海洋生物观察', '<p>如何观察海洋生物...</p>', '海洋生物观察', 'cover5.jpg', '海洋生物,观察', 5, '2024-01-01', 300, 5),
|
|
|
|
|
(6, '环保知识', '<p>了解环保知识...</p>', '环保知识', 'cover6.jpg', '环保,知识', 6, '2024-02-01', 350, 4),
|
|
|
|
|
(7, '潜水培训', '<p>如何学习潜水...</p>', '潜水培训', 'cover7.jpg', '潜水,培训', 7, '2024-03-01', 400, 6),
|
|
|
|
|
(8, '海洋科技', '<p>最新的海洋科技成果...</p>', '海洋科技', 'cover8.jpg', '海洋,科技', 8, '2024-04-01', 450, 1),
|
|
|
|
|
(9, '海洋教育', '<p>海洋教育的重要性...</p>', '海洋教育', 'cover9.jpg', '教育,海洋', 9, '2024-05-01', 500, 7),
|
|
|
|
|
(10, '海洋旅游', '<p>如何体验海洋旅游...</p>', '海洋旅游', 'cover10.jpg', '旅游,海洋', 10, '2024-06-01', 550, 8);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `collect`;
|
|
|
|
|
CREATE TABLE `collect` (
|
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`fid` INT NOT NULL COMMENT '关联ID', -- 关联ID,标识被收藏的内容
|
|
|
|
|
`user_id` INT NOT NULL COMMENT '收藏人ID', -- 用户ID,标识收藏内容的用户
|
|
|
|
|
`module` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模块',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '收藏表' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `collect` (`fid`, `user_id`, `module`)
|
|
|
|
|
VALUES
|
|
|
|
|
(2, 1, 'blog'),
|
|
|
|
|
(4, 2, 'blog'),
|
|
|
|
|
(1, 3, 'blog'),
|
|
|
|
|
(7, 4, 'blog'),
|
|
|
|
|
(6, 5, 'blog'),
|
|
|
|
|
(10, 6, 'blog'),
|
|
|
|
|
(3, 7, 'blog'),
|
|
|
|
|
(5, 8, 'blog'),
|
|
|
|
|
(8, 9, 'blog'),
|
|
|
|
|
(9, 10, 'blog');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `comment`;
|
|
|
|
|
CREATE TABLE `comment` (
|
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`content` VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '内容',
|
|
|
|
|
`user_id` INT NOT NULL COMMENT '评论人',
|
|
|
|
|
`pid` INT DEFAULT NULL COMMENT '父级ID',
|
|
|
|
|
`root_id` INT DEFAULT NULL COMMENT '根节点ID',
|
|
|
|
|
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论时间',
|
|
|
|
|
`fid` INT NOT NULL COMMENT '关联ID',
|
|
|
|
|
`module` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模块',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
|
FOREIGN KEY (`pid`) REFERENCES `comment`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
|
FOREIGN KEY (`root_id`) REFERENCES `comment`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '评论表' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `comment` (`id`, `content`, `user_id`, `pid`, `root_id`, `time`, `fid`, `module`)
|
|
|
|
|
VALUES
|
|
|
|
|
(1, '非常有趣的文章!', 1, NULL, 1, '2023-09-02 10:00:00', 2, 'blog'),
|
|
|
|
|
(2, '谢谢分享!', 2, NULL, 2, '2023-10-02 11:00:00', 3, 'blog'),
|
|
|
|
|
(3, '很有启发!', 3, NULL, 3, '2023-11-02 12:00:00', 1, 'blog'),
|
|
|
|
|
(4, '非常有用的信息!', 4, NULL, 4, '2023-12-02 13:00:00', 10, 'blog'),
|
|
|
|
|
(5, '感谢作者!', 5, NULL, 5, '2024-01-02 14:00:00', 8, 'blog'),
|
|
|
|
|
(6, '非常详细!', 6, NULL, 6, '2024-02-02 15:00:00', 5, 'blog'),
|
|
|
|
|
(7, '很好的内容!', 7, NULL, 7, '2024-03-02 16:00:00', 6, 'blog'),
|
|
|
|
|
(8, '非常感谢!', 8, NULL, 8, '2024-04-02 17:00:00', 9, 'blog'),
|
|
|
|
|
(9, '很有帮助!', 9, NULL, 9, '2024-05-02 18:00:00', 4, 'blog'),
|
|
|
|
|
(10, '非常棒!', 10, NULL, 10, '2024-06-02 19:00:00', 10, 'blog');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `likes`;
|
|
|
|
|
CREATE TABLE `likes` (
|
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`fid` INT NOT NULL COMMENT '关联ID',
|
|
|
|
|
`user_id` INT NOT NULL COMMENT '点赞人ID',
|
|
|
|
|
`module` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模块',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
|
|
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 62 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '点赞' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `likes` (`fid`, `user_id`, `module`)
|
|
|
|
|
VALUES
|
|
|
|
|
(2, 1, 'blog'),
|
|
|
|
|
(6, 2, 'blog'),
|
|
|
|
|
(7, 3, 'blog'),
|
|
|
|
|
(9, 4, 'blog'),
|
|
|
|
|
(1, 5, 'blog'),
|
|
|
|
|
(3, 6, 'blog'),
|
|
|
|
|
(4, 7, 'blog'),
|
|
|
|
|
(10, 8, 'blog'),
|
|
|
|
|
(8, 9, 'blog'),
|
|
|
|
|
(5, 10, 'blog');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS `notice`;
|
|
|
|
|
CREATE TABLE `notice` (
|
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
|
|
|
`title` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
|
|
|
|
|
`content` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '内容',
|
|
|
|
|
`time` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建时间', -- 修改为 NOT NULL
|
|
|
|
|
`user` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人',
|
|
|
|
|
PRIMARY KEY (`id`) USING BTREE
|
|
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '公告信息表' ROW_FORMAT = DYNAMIC;
|
|
|
|
|
|
|
|
|
|
INSERT INTO `notice` (`title`, `content`, `time`, `user`)
|
|
|
|
|
VALUES
|
|
|
|
|
('系统维护通知', '系统将于2024-12-31进行维护,预计持续2小时。', '2024-12-30', 'flyao'),
|
|
|
|
|
('新年活动预告', '新年活动即将开始,详情请关注活动页面。', '2024-12-25', 'Yuki'),
|
|
|
|
|
('重要安全更新', '请尽快更新您的密码以确保账户安全。', '2024-12-20', 'flyao'),
|
|
|
|
|
('用户反馈收集', '我们正在收集用户反馈,请参与我们的问卷调查。', '2024-12-15', 'Yuki'),
|
|
|
|
|
('活动延期通知', '原定于2024-12-18的活动延期至2025-01-01。', '2024-12-10', 'Yuki'),
|
|
|
|
|
('系统升级通知', '系统将在2024-12-05进行升级,预计持续1小时。', '2024-12-04', 'flyao'),
|
|
|
|
|
('活动报名提醒', '请尽快完成活动报名,名额有限。', '2024-11-30', 'admin1'),
|
|
|
|
|
('新功能上线', '我们的新功能已上线,欢迎体验!', '2024-11-25', 'admin4'),
|
|
|
|
|
('隐私政策更新', '我们更新了隐私政策,请查阅最新版本。', '2024-11-20', 'admin5'),
|
|
|
|
|
('用户满意度调查', '我们正在进行用户满意度调查,期待您的宝贵意见。', '2024-11-15', 'admin6');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 触发器3
|
|
|
|
|
DELIMITER $$
|
|
|
|
|
|
|
|
|
|
DROP TRIGGER IF EXISTS `after_blog_delete`;
|
|
|
|
|
CREATE TRIGGER `after_blog_delete`
|
|
|
|
|
AFTER DELETE ON `blog`
|
|
|
|
|
FOR EACH ROW
|
|
|
|
|
BEGIN
|
|
|
|
|
-- 删除 collect 表中与删除的 blog 记录关联的记录
|
|
|
|
|
DELETE FROM `collect` WHERE `fid` = OLD.id AND `module` = 'blog';
|
|
|
|
|
|
|
|
|
|
-- 删除 likes 表中与删除的 blog 记录关联的记录
|
|
|
|
|
DELETE FROM `likes` WHERE `fid` = OLD.id AND `module` = 'blog';
|
|
|
|
|
|
|
|
|
|
-- 删除 comment 表中与删除的 blog 记录关联的记录
|
|
|
|
|
DELETE FROM `comment` WHERE `fid` = OLD.id AND `module` = 'blog';
|
|
|
|
|
END $$
|
|
|
|
|
|
|
|
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 触发器4
|
|
|
|
|
DELIMITER $$
|
|
|
|
|
|
|
|
|
|
DROP TRIGGER IF EXISTS `after_activity_delete`;
|
|
|
|
|
CREATE TRIGGER after_activity_delete
|
|
|
|
|
AFTER DELETE ON `activity`
|
|
|
|
|
FOR EACH ROW
|
|
|
|
|
BEGIN
|
|
|
|
|
-- 删除 activity_sign 表中与删除的 activity 相关的记录
|
|
|
|
|
-- DELETE FROM `activity_sign` WHERE `activity_id` = OLD.id;
|
|
|
|
|
|
|
|
|
|
-- 删除 collect 表中与删除的 activity 相关的记录
|
|
|
|
|
DELETE FROM `collect` WHERE `fid` = OLD.id AND `module` = 'activity';
|
|
|
|
|
|
|
|
|
|
-- 删除 likes 表中与删除的 activity 相关的记录
|
|
|
|
|
DELETE FROM `likes` WHERE `fid` = OLD.id AND `module` = 'activity';
|
|
|
|
|
|
|
|
|
|
-- 删除 comment 表中与删除的 activity 相关的记录
|
|
|
|
|
DELETE FROM `comment` WHERE `fid` = OLD.id AND `module` = 'activity';
|
|
|
|
|
END$$
|
|
|
|
|
|
|
|
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 触发器5
|
|
|
|
|
DELIMITER $$
|
|
|
|
|
|
|
|
|
|
DROP TRIGGER IF EXISTS `after_admin_delete`;
|
|
|
|
|
CREATE TRIGGER after_admin_delete
|
|
|
|
|
AFTER DELETE ON `admin`
|
|
|
|
|
FOR EACH ROW
|
|
|
|
|
BEGIN
|
|
|
|
|
-- 删除 notice 表中与删除的 admin 用户相关的记录
|
|
|
|
|
DELETE FROM `notice` WHERE `user` = OLD.username;
|
|
|
|
|
END$$
|
|
|
|
|
|
|
|
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 视图1
|
|
|
|
|
-- 博客分类
|
|
|
|
|
DROP VIEW IF EXISTS view_category_list;
|
|
|
|
|
CREATE VIEW view_category_list AS
|
|
|
|
|
SELECT
|
|
|
|
|
id AS `序号`,
|
|
|
|
|
name AS `分类名称`
|
|
|
|
|
FROM
|
|
|
|
|
category;
|
|
|
|
|
|
|
|
|
|
-- 视图2
|
|
|
|
|
-- 博客信息
|
|
|
|
|
DROP VIEW IF EXISTS blog_view;
|
|
|
|
|
CREATE VIEW blog_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
b.id AS `序号`,
|
|
|
|
|
b.title AS `标题`,
|
|
|
|
|
b.descr AS `简介`,
|
|
|
|
|
b.cover AS `封面`,
|
|
|
|
|
c.name AS `分类`,
|
|
|
|
|
b.tags AS `标签`,
|
|
|
|
|
u.username AS `发布人`,
|
|
|
|
|
b.date AS `发布日期`,
|
|
|
|
|
b.read_count AS `浏览量`
|
|
|
|
|
FROM blog b
|
|
|
|
|
JOIN user u ON b.user_id = u.id
|
|
|
|
|
JOIN category c ON b.category_id = c.id;
|
|
|
|
|
|
|
|
|
|
-- 视图3
|
|
|
|
|
-- 活动信息
|
|
|
|
|
DROP VIEW IF EXISTS activity_view;
|
|
|
|
|
CREATE VIEW activity_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
a.id AS `序号`,
|
|
|
|
|
a.name AS `活动名称`,
|
|
|
|
|
a.descr AS `活动简介`,
|
|
|
|
|
a.cover AS `封面`,
|
|
|
|
|
a.start AS `开始时间`,
|
|
|
|
|
a.end AS `结束时间`,
|
|
|
|
|
a.form AS `活动形式`,
|
|
|
|
|
a.address AS `活动地址`,
|
|
|
|
|
ap.name AS `活动发布人`,
|
|
|
|
|
a.host AS `主办方`,
|
|
|
|
|
a.read_count AS `浏览量`
|
|
|
|
|
FROM activity a
|
|
|
|
|
JOIN activity_publisher ap ON a.publisher_id = ap.id;
|
|
|
|
|
|
|
|
|
|
-- 视图4
|
|
|
|
|
-- 评论信息
|
|
|
|
|
DROP VIEW IF EXISTS comment_view;
|
|
|
|
|
CREATE VIEW comment_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
c.id AS `序号`,
|
|
|
|
|
c.content AS `内容`,
|
|
|
|
|
c.user_id AS `评论人ID`,
|
|
|
|
|
u.name AS `评论人`,
|
|
|
|
|
c.pid AS `父级ID`,
|
|
|
|
|
c.root_id AS `根节点ID`,
|
|
|
|
|
c.time AS `评论时间`,
|
|
|
|
|
c.fid AS `关联ID`,
|
|
|
|
|
c.module AS `模块`
|
|
|
|
|
FROM comment c
|
|
|
|
|
JOIN user u ON c.user_id = u.id;
|
|
|
|
|
|
|
|
|
|
-- 视图5
|
|
|
|
|
-- 活动报名信息
|
|
|
|
|
DROP VIEW IF EXISTS activity_sign_view;
|
|
|
|
|
CREATE VIEW activity_sign_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
s.id AS `序号`,
|
|
|
|
|
a.id AS `活动ID`,
|
|
|
|
|
a.name AS `活动名称`,
|
|
|
|
|
u.id AS `报名人ID`,
|
|
|
|
|
u.username AS `报名人`,
|
|
|
|
|
s.time AS `报名时间`
|
|
|
|
|
FROM
|
|
|
|
|
activity_sign s
|
|
|
|
|
JOIN
|
|
|
|
|
activity a ON s.activity_id = a.id
|
|
|
|
|
JOIN
|
|
|
|
|
user u ON s.user_id = u.id;
|
|
|
|
|
|
|
|
|
|
-- 视图6
|
|
|
|
|
-- 公告信息
|
|
|
|
|
DROP VIEW IF EXISTS notice_view;
|
|
|
|
|
CREATE VIEW notice_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
n.id AS `序号`,
|
|
|
|
|
n.title AS `标题`,
|
|
|
|
|
n.content AS `内容`,
|
|
|
|
|
n.time AS `创建时间`,
|
|
|
|
|
n.user AS `创建人`
|
|
|
|
|
FROM
|
|
|
|
|
notice n;
|
|
|
|
|
|
|
|
|
|
-- 视图7
|
|
|
|
|
-- 管理员信息
|
|
|
|
|
DROP VIEW IF EXISTS admin_view;
|
|
|
|
|
CREATE VIEW admin_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
ad.id AS `序号`,
|
|
|
|
|
ad.username AS `账号`,
|
|
|
|
|
ad.name AS `姓名`,
|
|
|
|
|
ad.phone AS `电话`,
|
|
|
|
|
ad.email AS `邮箱`,
|
|
|
|
|
ad.avatar AS `头像`,
|
|
|
|
|
ad.role AS `角色`
|
|
|
|
|
FROM
|
|
|
|
|
admin ad;
|
|
|
|
|
|
|
|
|
|
-- 视图8
|
|
|
|
|
-- 用户信息
|
|
|
|
|
DROP VIEW IF EXISTS user_view;
|
|
|
|
|
CREATE VIEW user_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
u.id AS `序号`,
|
|
|
|
|
u.username AS `账号`,
|
|
|
|
|
u.name AS `姓名`,
|
|
|
|
|
u.phone AS `电话`,
|
|
|
|
|
u.email AS `邮箱`,
|
|
|
|
|
u.avatar AS `头像`,
|
|
|
|
|
u.sex AS `性别`,
|
|
|
|
|
u.info AS `个人简介`,
|
|
|
|
|
u.birth AS `生日`,
|
|
|
|
|
u.role AS `角色`
|
|
|
|
|
FROM
|
|
|
|
|
user u;
|
|
|
|
|
|
|
|
|
|
-- 视图9
|
|
|
|
|
-- 活动发布人信息
|
|
|
|
|
DROP VIEW IF EXISTS activity_publisher_view;
|
|
|
|
|
CREATE VIEW activity_publisher_view AS
|
|
|
|
|
SELECT
|
|
|
|
|
ap.id AS `序号`,
|
|
|
|
|
ap.username AS `账号`,
|
|
|
|
|
ap.name AS `姓名`,
|
|
|
|
|
ap.phone AS `电话`,
|
|
|
|
|
ap.email AS `邮箱`,
|
|
|
|
|
ap.organization AS `所在单位`,
|
|
|
|
|
ap.address AS `地址`,
|
|
|
|
|
ap.avatar AS `头像`,
|
|
|
|
|
ap.role AS `角色`
|
|
|
|
|
FROM
|
|
|
|
|
activity_publisher ap;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 权限设置
|
|
|
|
|
-- 创建用户
|
|
|
|
|
DROP USER IF EXISTS 'admin'@'localhost';
|
|
|
|
|
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin_password';
|
|
|
|
|
DROP USER IF EXISTS 'user'@'localhost';
|
|
|
|
|
CREATE USER 'user'@'localhost' IDENTIFIED BY 'user_password';
|
|
|
|
|
DROP USER IF EXISTS 'activity_publisher'@'localhost';
|
|
|
|
|
CREATE USER 'activity_publisher'@'localhost' IDENTIFIED BY 'activity_publisher_password';
|
|
|
|
|
|
|
|
|
|
-- 分配管理员权限
|
|
|
|
|
GRANT ALL PRIVILEGES ON mymanager.* TO 'admin'@'localhost';
|
|
|
|
|
|
|
|
|
|
-- 分配普通用户权限
|
|
|
|
|
GRANT SELECT ON mymanager.blog TO 'user'@'localhost';
|
|
|
|
|
GRANT SELECT ON mymanager.comment TO 'user'@'localhost';
|
|
|
|
|
GRANT SELECT ON mymanager.user TO 'user'@'localhost';
|
|
|
|
|
GRANT INSERT ON mymanager.activity_sign TO 'user'@'localhost';
|
|
|
|
|
GRANT INSERT ON mymanager.comment TO 'user'@'localhost';
|
|
|
|
|
GRANT INSERT ON mymanager.collect TO 'user'@'localhost';
|
|
|
|
|
GRANT UPDATE ON mymanager.user TO 'user'@'localhost';
|
|
|
|
|
GRANT DELETE ON mymanager.comment TO 'user'@'localhost';
|
|
|
|
|
GRANT DELETE ON mymanager.activity_sign TO 'user'@'localhost';
|
|
|
|
|
|
|
|
|
|
-- 分配活动发布人权限
|
|
|
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON mymanager.activity TO 'activity_publisher'@'localhost';
|
|
|
|
|
|
|
|
|
|
-- 刷新权限
|
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
|
|