mysql外键关联

 

主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性

外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的。所以说,如果谈到了外键,一定是至少涉及到两张表。

 

创建外键的方式:

方式一:表已经创建好了,继续修改表的结构来添加外键,代码如下:

create table student(
            id int primary key auto_increment,
            name char(32) not null,
            sex char(32)
); 

create table class( id int primary key auto_increment, name char(32) not null, age int, dept_id int
);

在上述的俩个已经创建好的表中,添加外键:

alter table class add foreign key(dept_id) references student(id)

alter table class:在从表class中进行操作;

add foreign key (dept_id):将从表的字段dept_id添加为外键;

references student(id):映射到主表studentt当中为id的字段

 

方式一:在创建表的时候增加外键,代码如下create table student(

            id int primary key auto_increment,
            name char(32) not null,
            sex char(32)
); 

create table class( id int primary key auto_increment, name char(32) not null, age int, dept_id int
       constraint FK_id foreign key(dept_id) references student(id) );

格式:[CONSTRAINT symbol] FOREIGN KEY [id] (从表的字段1) REFERENCES tbl_name (主表的字段2)
 

CONSTRAINT symbol:可以给这个外键约束起一个名字,有了名字,以后找到它就很方便了。如果不加此参数的话,系统会自动分配一个名字。

FOREIGN KEY:将从表中的字段1作为外键的字段。

REFERENCES:映射到主表的字段2。

 
 

删除外键:

alter table student drop foreign key 外键名;

转载于:https://www.cnblogs.com/ConnorShip/p/9808947.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值