关于数据库的sql文件

demo-content
今日不开张 2 months ago
commit 23eebcbbeb

@ -0,0 +1,91 @@
/*
Navicat MySQL Dump SQL
Source Server : test
Source Server Type : MySQL
Source Server Version : 90100 (9.1.0)
Source Host : localhost:3306
Source Schema : test
Target Server Type : MySQL
Target Server Version : 90100 (9.1.0)
File Encoding : 65001
Date: 23/12/2024 05:02:32
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for posts
-- ----------------------------
DROP TABLE IF EXISTS `posts`;
CREATE TABLE `posts` (
`PostID` int NOT NULL AUTO_INCREMENT,
`Title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`Content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`PublishTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`AuthorID` int NOT NULL,
`ReviewStatus` enum('approved','pending','rejected') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending',
`IsRecommended` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`PostID`) USING BTREE,
INDEX `AuthorID`(`AuthorID` ASC) USING BTREE,
CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`AuthorID`) REFERENCES `users` (`UserID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of posts
-- ----------------------------
INSERT INTO `posts` VALUES (1, '第一篇文章', '这是管理员发布的第一篇文章内容...', '2024-12-23 04:46:27', 1, 'approved', 1);
INSERT INTO `posts` VALUES (2, '第二篇文章', '这是普通用户发布的一篇文章内容...', '2024-12-23 04:46:27', 2, 'pending', 0);
-- ----------------------------
-- Table structure for user_security_questions_answers
-- ----------------------------
DROP TABLE IF EXISTS `user_security_questions_answers`;
CREATE TABLE `user_security_questions_answers` (
`RecordID` int NOT NULL AUTO_INCREMENT,
`UserID` int NOT NULL,
`QuestionNumber` tinyint NOT NULL,
`QuestionContent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`AnswerHash` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`RecordID`) USING BTREE,
UNIQUE INDEX `UserID`(`UserID` ASC, `QuestionNumber` ASC) USING BTREE,
CONSTRAINT `user_security_questions_answers_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `users` (`UserID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `user_security_questions_answers_chk_1` CHECK (`QuestionNumber` in (1,2))
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user_security_questions_answers
-- ----------------------------
INSERT INTO `user_security_questions_answers` VALUES (1, 1, 1, '您的第一个宠物的名字是什么?', 'cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944');
INSERT INTO `user_security_questions_answers` VALUES (2, 1, 2, '您小时候最好的朋友叫什么名字?', '78675cc176081372c43abab3ea9fb70c74381eb02dc6e93fb6d44d161da6eeb3');
INSERT INTO `user_security_questions_answers` VALUES (3, 2, 1, '您的小学名字是什么?', 'd64debd942d7dc26a851231583b1721f43ea936fa41932b6dad7556e5f8cd24a');
INSERT INTO `user_security_questions_answers` VALUES (4, 2, 2, '您最喜欢的书是什么?', '92719fe0cf8cd51592af31ee8a5736d79f7273777fa3f7b70bfe993a4cd32180');
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`UserID` int NOT NULL AUTO_INCREMENT,
`Username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`PhoneNumber` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`PasswordHash` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`JoinDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`UserType` enum('user','admin') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'user',
`Birthday` date NULL DEFAULT NULL,
`Signature` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
PRIMARY KEY (`UserID`) USING BTREE,
UNIQUE INDEX `Username`(`Username` ASC) USING BTREE,
UNIQUE INDEX `PhoneNumber`(`PhoneNumber` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, 'admin_user', '13800138000', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', '2024-12-23 04:46:27', 'admin', '1990-01-01', '我是管理员');
INSERT INTO `users` VALUES (2, 'regular_user', '13800138001', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', '2024-12-23 04:46:27', 'user', '1995-07-15', '热爱编程的普通人');
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,42 @@
管理员账号13800138000 密码123456
普通用户账号13800138001 密码123456
-- 对于用户ID = 1
您的第一个宠物的名字是什么? 答dog
您小时候最好的朋友叫什么名字? 答joe
-- 对于用户ID = 2
您的小学名字是什么school
您最喜欢的书是什么book
Users (
UserID INT AUTO_INCREMENT PRIMARY KEY,
Username VARCHAR(50) NOT NULL UNIQUE, -- 用户名,唯一
PhoneNumber VARCHAR(15) NOT NULL UNIQUE, -- 国际格式的手机号码,唯一
PasswordHash VARCHAR(256) NOT NULL, -- 哈希后的密码
JoinDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UserType ENUM('user', 'admin') NOT NULL DEFAULT 'user', -- 用户类型,默认为普通用户
Birthday DATE, -- 生日
Signature TEXT -- 个性签名
);
Posts (
PostID INT AUTO_INCREMENT PRIMARY KEY, -- 文章ID主键
Title VARCHAR(255) NOT NULL, -- 文章标题
Content TEXT NOT NULL, -- 文章正文
PublishTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 发布时间,默认为当前时间戳
AuthorID INT NOT NULL, -- 作者ID外键关联到Users表
ReviewStatus ENUM('approved', 'pending', 'rejected') NOT NULL DEFAULT 'pending', -- 审核状态,默认为待审核
IsRecommended BOOLEAN NOT NULL DEFAULT FALSE, -- 是否推荐,默认为不推荐
FOREIGN KEY (AuthorID) REFERENCES Users(UserID)
);
User_Security_Questions_Answers (
RecordID INT AUTO_INCREMENT PRIMARY KEY,
UserID INT NOT NULL, -- 用户ID外键关联到Users表
QuestionNumber TINYINT NOT NULL CHECK (QuestionNumber IN (1, 2)), -- 问题序号只能是1或2
QuestionContent TEXT NOT NULL, -- 安全问题的内容
AnswerHash VARCHAR(256) NOT NULL, -- 哈希后的答案
UNIQUE (UserID, QuestionNumber), -- 确保每个用户只能有两个不同的问题
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
Loading…
Cancel
Save