PHP框架+gatewayworker实现在线1对1聊天--mysql数据库(3)

聊天系统的数据库准备

数据库比较简单,就两张表。一张是用户表,包含用户姓名,头像。因为只是实现聊天功能,其他的字段省略了。另一张表示聊天内容表,记录字段包含发送人id,发送人姓名,接收人id,接收人姓名,发送的内容,内容的类型。这里将内容分为了文本、图片、表情3类。

sql 复制代码
CREATE TABLE IF NOT EXISTS `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '用户姓名',
  `avatar` varchar(100) NOT NULL DEFAULT '' COMMENT '头像',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8mb4  COLLATE=utf8mb4_general_ci  COMMENT='用户表' AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `chat` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `from_id` int(10) unsigned NOT NULL default 0 COMMENT '发送人id',
  `from_user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '发送人姓名',
  `to_id` int(10) unsigned NOT NULL default 0 COMMENT '接收人id',
  `to_user_name` varchar(30) NOT NULL DEFAULT '' COMMENT '接收人姓名',
  `content` varchar(500) not null default '' comment '内容',
  `content_type` tinyint(1) unsigned NOT NULL default 0 COMMENT '内容类型,1文本,2图片,3表情',
  `add_time` int(10) unsigned NOT NULL default 0 COMMENT '添加时间',
  `add_time_f` char(19) NOT NULL default '' COMMENT '格式化后添加时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8mb4  COLLATE=utf8mb4_general_ci  COMMENT='聊天内容表' AUTO_INCREMENT=1 ;

数据库也准备好了,万事俱备,只欠东风了。可以开始实现功能了。

相关推荐
程序员岳焱6 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
计算机毕设定制辅导-无忧学长6 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
程序员柳7 小时前
基于微信小程序的校园二手交易平台、微信小程序校园二手商城源代码+数据库+使用说明,layui+微信小程序+Spring Boot
数据库·微信小程序·layui
梦在深巷、7 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
IT乌鸦坐飞机7 小时前
ansible部署数据库服务随机启动并创建用户和设置用户有完全权限
数据库·ansible·centos7
IT_10247 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
Johny_Zhao8 小时前
Ubuntu系统安装部署Pandawiki智能知识库
linux·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm·pandawiki
祁思妙想8 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人9 小时前
1.MySQL之如何定位慢查询
数据库·mysql
秦歌6669 小时前
向量数据库-Milvus快速入门
数据库·milvus