当前位置 : 主页 > 编程语言 > java >

【MySQL】数据表之间常用关系,外键变种

来源:互联网 收集:自由互联 发布时间:2022-06-30
一对多关系 如用户表与部门表,一个用户只所属一个部门,一个部门由多个用户组成 在创建用户表的部门id列时,创建部门表的外键即可 一对一关系 用户表与博客表,一个用户只能创
  • 一对多关系
    如用户表与部门表,一个用户只所属一个部门,一个部门由多个用户组成
    【MySQL】数据表之间常用关系,外键变种_一对多
    在创建用户表的部门id列时,创建部门表的外键即可
  • 一对一关系
    用户表与博客表,一个用户只能创建一个博客
    【MySQL】数据表之间常用关系,外键变种_创建用户_02
    建表如下
  • create table userinfo1(
    id int auto_increment primary key,
    name char(10),
    gender char(10),
    email varchar(64)
    )engine=innodb default charset=utf8;

    create table admin(
    id int not null auto_increment primary key,
    username varchar(64) not null,
    password VARCHAR(64) not null,
    user_id int not null,
    unique uq_u1 (user_id),
    CONSTRAINT fk_admin_u1 FOREIGN key (user_id) REFERENCES userinfo1(id)
    )engine=innodb default charset=utf8;
  • 多对多关系
    示例1:用户表与相亲表
    示例2:用户表与主机表,需创建用户主机关系表
    创建如下
  • create table userinfo2(
    id int auto_increment primary key,
    name char(10),
    gender char(10),
    email varchar(64)
    )engine=innodb default charset=utf8;

    create table host(
    id int auto_increment primary key,
    hostname char(64)
    )engine=innodb default charset=utf8;

    create table user2host(
    id int auto_increment primary key,
    userid int not null,
    hostid int not null,
    unique uq_user_host (userid,hostid),
    CONSTRAINT fk_u2h_user FOREIGN key (userid) REFERENCES userinfo2(id),
    CONSTRAINT fk_u2h_host FOREIGN key (hostid) REFERENCES host(id)
    )engine=innodb default charset=utf8;


    上一篇:【MySQL】Pymysql连接mysql
    下一篇:没有了
    网友评论