用户模块数据库设计 数据库逻辑结构设计(将E-R图转表结构) 数据库物理结构设计(将表结构转为sql代码) 编写SQL代码 创建用户模块的三个实体 用户 Token 持有者 约束说明:用于保证数据的完整性 1)主键约束(primary key) 保证数据的唯一性 2)非空(not null) 录入数据时不能为空 3)外键(foreign key) 用于设置表与表之间的关联 语法: alter table 从表名 add constraint 约束名称 foreign key(从表字段) references 主表名(主表字段) enum('0','1','2',)枚举类型 只能是字符类型 代码: #创建数据库 create database Demo; #使用数据库 use demo; #在数据库中创建多个数据表 #用户实体表 create table userinfo ( id char(32) primary key not null,#用户编号 username varchar(32) not null,#用户名称 password varchar(32) not null,#用户密码 login_time datetime null,#登录时间 user_type enum('0','1','2') not null,#用户类型 0 1 2 resuit_time datetime null ,#注册时间 emeil varchar(100) not null ,#邮箱 user_status enum('0','1') not null #用户状态 0 1 ); #查看表 select * from userinfo; #添加用户数据 insert into userinfo values('1002','李四','abc123','2022-3-17','1','2021-2-12','34324@qq.com','0'); #Token实体表 create table Token ( id char(32) primary key not null, token_value varchar(100) not null, token_status int not null, user_id char(32) not null ); #设置外键 alter table Token add constraint fk_id foreign key(user_id) references userinfo(id); #添加数据 insert into Token values('tok001','李四',0,'1001'); insert into Token values('tok002','李四',0,'1002'); select * fROM Token; #持有者实体表 create table CYZ ( id char(32)primary key not null, user_id varchar(100) not null, bind_status int not null, device_id char(32) not null ) #设置外键 alter table CYZ add constraint fk_id2 foreign key(user_id) references userinfo(id); #添加数据 insert into CYZ values('cyz001','1001',0,'sb001'); select * from CYZ;