mysql朋友圈表的详细设计
时间: 2023-10-14 16:16:57 浏览: 42
MySQL朋友圈表的设计可以基于以下需求进行:
1. 用户信息表,用于存储用户的基本信息,如用户名、密码、昵称、头像等。
2. 好友关系表,用于存储用户之间的好友关系,包括好友的ID、好友关系状态等。
3. 动态表,用于存储用户发布的动态信息,包括动态ID、发布用户ID、动态内容、发布时间等。
4. 评论表,用于存储用户对动态的评论信息,包括评论ID、评论者ID、被评论的动态ID、评论内容、评论时间等。
5. 点赞表,用于存储用户对动态的点赞信息,包括点赞ID、点赞者ID、被点赞的动态ID、点赞时间等。
下面是MySQL朋友圈表的详细设计:
```
-- 用户信息表
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(255) NOT NULL COMMENT '用户名',
`password` varchar(255) NOT NULL COMMENT '密码',
`nickname` varchar(255) NOT NULL COMMENT '昵称',
`avatar` varchar(255) DEFAULT NULL COMMENT '头像',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
-- 好友关系表
CREATE TABLE `friend` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '好友关系ID',
`user_id` int(11) NOT NULL COMMENT '用户ID',
`friend_id` int(11) NOT NULL COMMENT '好友ID',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '好友关系状态,0-未确认,1-已确认',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_friend_id` (`friend_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='好友关系表';
-- 动态表
CREATE TABLE `moment` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '动态ID',
`user_id` int(11) NOT NULL COMMENT '发布用户ID',
`content` text NOT NULL COMMENT '动态内容',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='动态表';
-- 评论表
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '评论ID',
`user_id` int(11) NOT NULL COMMENT '评论者ID',
`moment_id` int(11) NOT NULL COMMENT '被评论的动态ID',
`content` text NOT NULL COMMENT '评论内容',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '评论时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_moment_id` (`moment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论表';
-- 点赞表
CREATE TABLE `like` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '点赞ID',
`user_id` int(11) NOT NULL COMMENT '点赞者ID',
`moment_id` int(11) NOT NULL COMMENT '被点赞的动态ID',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_moment_id` (`moment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='点赞表';
```
以上是一个简单的MySQL朋友圈表设计,可以根据实际需求进行调整和优化。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)