晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 1 | -- 使用反引号包裹保留字表名 |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 2 | CREATE TABLE `user` ( |
| 3 | `user_id` INT PRIMARY KEY AUTO_INCREMENT, |
| 4 | `username` VARCHAR(255) NOT NULL UNIQUE, |
| 5 | `email` VARCHAR(255) NOT NULL UNIQUE, |
| 6 | `password` VARCHAR(255) NOT NULL, |
| 7 | `address` VARCHAR(255), |
| 8 | `role` VARCHAR(50) NOT NULL DEFAULT 'user', |
| 9 | `profile_pic` VARCHAR(255), |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 10 | `registration_date` TIMESTAMP NOT NULL, |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 11 | `identification_number` VARCHAR(18), |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 12 | `avatar` VARCHAR(255), |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 13 | `isfollowed` BOOLEAN NOT NULL DEFAULT FALSE |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 14 | ); |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 15 | |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 16 | -- 外键表同样使用反引号 |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 17 | CREATE TABLE `user_follow` ( |
| 18 | `follower_id` INT NOT NULL, |
| 19 | `followed_id` INT NOT NULL, |
| 20 | `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| 21 | PRIMARY KEY (`follower_id`, `followed_id`), |
| 22 | FOREIGN KEY (`follower_id`) REFERENCES `user`(`user_id`), |
| 23 | FOREIGN KEY (`followed_id`) REFERENCES `user`(`user_id`) |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 24 | ); |
| 25 | |
晓瑞223 | e046c3a | 2025-06-05 22:08:29 +0800 | [diff] [blame^] | 26 | -- 新增任务表 |
| 27 | CREATE TABLE `task` ( |
| 28 | `task_id` INT AUTO_INCREMENT PRIMARY KEY, |
| 29 | `user_id` INT NOT NULL, |
| 30 | `type` VARCHAR(50) NOT NULL, -- "seed", "post", "comment" |
| 31 | `completed` BOOLEAN NOT NULL DEFAULT FALSE, |
| 32 | FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`) |
| 33 | ); |
| 34 | |
| 35 | -- 新增帖子表 |
| 36 | CREATE TABLE `post` ( |
| 37 | `post_id` BIGINT AUTO_INCREMENT PRIMARY KEY, |
| 38 | `user_id` INT NOT NULL, |
| 39 | `title` VARCHAR(255) NOT NULL, |
| 40 | `content` TEXT NOT NULL, |
| 41 | `create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| 42 | `views` INT DEFAULT 0, |
| 43 | FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`) |
| 44 | ); |
| 45 | |
| 46 | -- 新增评论表 |
| 47 | CREATE TABLE `comment` ( |
| 48 | `comment_id` BIGINT AUTO_INCREMENT PRIMARY KEY, |
| 49 | `post_id` BIGINT NOT NULL, |
| 50 | `user_id` INT NOT NULL, |
| 51 | `content` TEXT NOT NULL, |
| 52 | `create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, |
| 53 | FOREIGN KEY (`post_id`) REFERENCES `post`(`post_id`), |
| 54 | FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`) |
| 55 | ); |
| 56 | |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 57 | -- 插入语句使用反引号包裹表名和列名 |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 58 | INSERT INTO `user` ( |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 59 | `username`, `email`, `password`, `registration_date`, `identification_number`, `role` |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 60 | ) VALUES ( |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 61 | 'admin', 'admin@example.com', 'admin123', CURRENT_TIMESTAMP, '87654321', 'admin' |
晓瑞223 | cae85b7 | 2025-05-30 01:09:40 +0800 | [diff] [blame] | 62 | ); |