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|验证设置是https://blog.51cto.com/u_16175515/7051440
mysql 创建表格 枚举类型:
mysql 创建表格 枚举类型_mob649e81586edc的技术博客_51CTO博客mysql 创建表格 枚举类型,#MySQL创建表格枚举类型MySQL是一种常用的关系型数据库管理系统,它提供了丰富的功能来管理和操作数据。在MySQL中,我们可以使用CREATETABLE语句创建表格来存储数据。表格中的列可以具有不同的数据类型,其中之一就是枚举类型。##什么是枚举类型枚举类型是一种特殊的数据类型,它允许我们将某个列的值限制为预定义的一组可能值中的一个。在MySQL中,我们可以使用枚举类型来https://blog.51cto.com/u_16175450/6767773
mysql 创建联合主键
mysql 创建联合主键_mob649e816aeef7的技术博客_51CTO博客mysql 创建联合主键,##Mysql创建联合主键的步骤###概述在Mysql中,可以通过创建联合主键来约束多个字段的唯一性,以确保数据的完整性和一致性。本文将详细介绍创建联合主键的步骤,并提供相应的代码示例。###步骤下面是创建联合主键的步骤概览:|步骤|描述||---|---||步骤一|创建表格||步骤二|添加字段||步骤三|定义联合主键|https://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>