mysql创建用户表_MySQL 创建用户表和好友表

2177b33e4d66dd2fbcfce53393a94744.png

人生如果错了方向,停止就是进步

最近想做一个即时通讯的Android demo,但是一直不知道如何处理用户和好友之间的表关系。在网上找了好久也没找到合适的。我本人很少接触数据库,对数据库语句比较差。

但是这只是自己demo,只能自己写。

创建数据库

好了,不多逼逼,现在开始创建一个数据库吧。

create database my_chat;

这一步相信大家都很明白,就是创建了一个my_chat的数据库

创建表

选择数据库

use my_chat;

创建用户表

create tableuserTable

(

userIdint auto_increment primary key, --用户ID自增

password varchar(100), --密码

userName varchar(100) unique, --用户名

birthYear smallint, --出生年

birthMonth smallint, --出生月

birthDay smallint, --出生日

gender smallint, --0 为女性, 1 为男

avatarId int, --头像Id

isOnline int, --0 为离线, 1 在线

signupTime varchar(100), --XXXX-XX-

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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朋友圈设计,可以根据实际需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值