《MySQL数据库用户模块需求分析》

 用户模块数据库设计
      数据库逻辑结构设计(将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','[email protected]','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;

你可能感兴趣的:(mysql,数据库,sql)