当前位置: 首页 > article >正文

myql 项目数据库和表的设计

1.表的设计和创建 

2.在navicate运行这些代码 

create table user(
	id int not null auto_increment primary key,
	name varchar(50) not null unique,
	password varchar(50) not null,
	state enum('online','offline')  default 'offline'
);
create table friend(
	userid int not null,
	friendid int not null
);
alter table friend 
add constraint pk_friend primary key(userid,friendid);

create table allgroup(
	id int not null auto_increment primary key,
	groupname varchar(50) not null,
	groupdesc varchar(200) default ''
);

create table groupuser(
	groupid int not null primary key,
	userid int not null,
	grouprole enum('creator','normal') default 'normal'
);

create table offlinemessage(
	userid int not null primary key,
	message varchar(500) not null
);

 

参考和推荐文章:

mysql 设置默认为空字符串

mysql 设置默认为空字符串_mob649e81684ddc的技术博客_51CTO博客mysql 设置默认为空字符串,#如何设置MySQL默认为空字符串##介绍在MySQL中,我们可以通过修改表结构的方式来设置默认为空字符串。本文将详细介绍如何使用MySQL来实现设置默认为空字符串的功能。##步骤以下是实现设置默认为空字符串的步骤:|步骤|操作||---|---||1|确定要修改的表||2|查看表结构||3|修改表结构||4|验证设置是icon-default.png?t=N7T8https://blog.51cto.com/u_16175515/7051440

mysql 创建表格 枚举类型:

mysql 创建表格 枚举类型_mob649e81586edc的技术博客_51CTO博客mysql 创建表格 枚举类型,#MySQL创建表格枚举类型MySQL是一种常用的关系型数据库管理系统,它提供了丰富的功能来管理和操作数据。在MySQL中,我们可以使用CREATETABLE语句创建表格来存储数据。表格中的列可以具有不同的数据类型,其中之一就是枚举类型。##什么是枚举类型枚举类型是一种特殊的数据类型,它允许我们将某个列的值限制为预定义的一组可能值中的一个。在MySQL中,我们可以使用枚举类型来icon-default.png?t=N7T8https://blog.51cto.com/u_16175450/6767773

mysql 创建联合主键

mysql 创建联合主键_mob649e816aeef7的技术博客_51CTO博客mysql 创建联合主键,##Mysql创建联合主键的步骤###概述在Mysql中,可以通过创建联合主键来约束多个字段的唯一性,以确保数据的完整性和一致性。本文将详细介绍创建联合主键的步骤,并提供相应的代码示例。###步骤下面是创建联合主键的步骤概览:|步骤|描述||---|---||步骤一|创建表格||步骤二|添加字段||步骤三|定义联合主键|icon-default.png?t=N7T8https://blog.51cto.com/u_16175526/7051594

在我们后面的项目中, 有用到这些表,在ubutun linux中,将我们上面写好的sql代码粘贴进去按下

mysql> mysql -u root -p
mysql> show databases;
mysql> create database chat;

mysql> use chat;
Database changed
mysql> create table user(
    -> id int not null auto_increment primary key,
    -> name varchar(50) not null unique,
    -> password varchar(50) not null,
    -> state enum('online','offline')  default 'offline'
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> create table friend(
    -> userid int not null,
    -> friendid int not null
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> alter table friend 
    -> add constraint pk_friend primary key(userid,friendid);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> create table allgroup(
    -> id int not null auto_increment primary key,
    -> groupname varchar(50) not null,
    -> groupdesc varchar(200) default ''
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> create table groupuser(
    -> groupid int not null primary key,
    -> userid int not null,
    -> grouprole enum('creator','normal') default 'normal'
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> create table offlinemessage(
    -> userid int not null primary key,
    -> message varchar(500) not null
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+----------------+
| Tables_in_chat |
+----------------+
| allgroup       |
| friend         |
| groupuser      |
| offlinemessage |
| user           |
+----------------+
5 rows in set (0.00 sec)

mysql> 


http://www.kler.cn/a/228211.html

相关文章:

  • 瑞_23种设计模式_工厂模式
  • 【webrtc】跟webrtc学list遍历
  • 洛谷:P2957 [USACO09OCT] Barn Echoes G
  • 通用函数
  • 【C/C++ 14】C++11智能指针
  • MySQL操作问题汇总
  • 06 - python操作xml
  • CI/CD总结
  • 【算法题】91. 解码方法
  • 详解 Spring Boot 条件装配
  • 考研中常见的算法-逆置
  • 在 iOS 上安装自定企业级应用
  • Matplotlib绘制炫酷柱状图的艺术与技巧【第60篇—python:Matplotlib绘制柱状图】
  • 2 月 3 日算法练习-数论
  • 网络安全笔记
  • 假期刷题打卡--Day23
  • 蓝桥杯Web应用开发-display属性
  • 开源计算机视觉库OpenCV详细介绍
  • Ainx框架实现 一
  • spring boot3x登录开发-上(整合jwt)