MySQL 是什么?

MySQL 是一个 关系型数据库管理系统

它的核心职责就三件事:

  1. 持久化存数据(断电不丢)

  2. 高效查询数据(SQL)

  3. 保证数据正确性(事务、并发控制)

对比一下:

组件 作用
程序内存 快,但断电没
文件 能存,但不好查、并发差
MySQL 快 + 好查 + 并发安全

通过语句进数据库:

创建数据库:

建表语句:
 

CREATE TABLE `User` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `name` VARCHAR(50) NOT NULL COMMENT '用户名',
  `password` VARCHAR(50) NOT NULL COMMENT '用户密码',
  `state` ENUM('online', 'offline') NOT NULL DEFAULT 'offline' COMMENT '登录状态',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_name` (`name`)
) ENGINE=InnoDB
  DEFAULT CHARSET=utf8mb4
  COMMENT='用户表';
CREATE TABLE `Friend` (
  `userid` INT NOT NULL COMMENT '用户id',
  `friendid` INT NOT NULL COMMENT '好友id',
  PRIMARY KEY (`userid`, `friendid`)
) ENGINE=InnoDB
  DEFAULT CHARSET=utf8mb4
  COMMENT='好友关系表';
CREATE TABLE `AllGroup` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '组id',
  `groupname` VARCHAR(50) NOT NULL COMMENT '组名称',
  `groupdesc` VARCHAR(200) DEFAULT '' COMMENT '组功能描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB
  DEFAULT CHARSET=utf8mb4
  COMMENT='群组表';
CREATE TABLE `GroupUser` (
  `groupid` INT NOT NULL COMMENT '组id',
  `userid` INT NOT NULL COMMENT '组员id',
  `grouprole` ENUM('creator', 'normal') NOT NULL DEFAULT 'normal' COMMENT '组内角色',
  PRIMARY KEY (`groupid`, `userid`)
) ENGINE=InnoDB
  DEFAULT CHARSET=utf8mb4
  COMMENT='群成员关系表';
CREATE TABLE `OfflineMessage` (
  `userid` INT NOT NULL COMMENT '用户id',
  `message` VARCHAR(500) NOT NULL COMMENT '离线消息(存储 JSON 字符串)',
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB
  DEFAULT CHARSET=utf8mb4
  COMMENT='离线消息表';

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐