22.Java与数据库(六)【Java学习笔记Hatter】Java开发工程师

/ 闽江学院Java开发工程师 / 2017-03-23


Java开发初学者,Java学习经验分享,数据库,MySQL,数据库中的外键,子查询,删除置空,更新级联,联合查询,标量子查询,列子查询,表子查询,视图

1.外键

foreign key:外面的键(键不在自己的表中):若一张表中有一字段(非主键)指向另外一张表的主键,那么将该字段叫为外键。一张表可以有多个外键。

(1)增加外键

外键可以在创建表或者创建表后增加(但是要考虑数据的问题)

①创建表的时候:在所有的表字段之后,使用foreign key(外键字段)references 外部表(主键字段)

create table my_foreign1( id int primary key auto_increment, name varchar(20) not null , c_id int, foreign key (c_id) references my_class(id) )


Java开发初学者,Java学习经验分享,数据库,MySQL,数据库中的外键,子查询,删除置空,更新级联,联合查询,标量子查询,列子查询,表子查询,视图




外键要求字段本身必须先是索引(普通索引),若字段本身没有索引,外键会先创建一索引,然后才创建外键本身。

②在新增表之后增加外键:修改表结构

alter table 表名 add [constraint 外键名字] foreign key(外键字段)references 父表(主键字段);

--创建表

create table my_foreign2 ( id int primary key auto_increment, name varchar(20) not null comment '学生姓名', c_id int comment '班级id'


公众号,微信

汇鱼网海峡创乐汇
汇鱼网海峡创乐汇