mysql外键代码怎么写 mysql外键使用( 二 )


@两张表关联字段名可以取不一样名字,但类型必须一致
在MySQL中如何设置主键和外键1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表 , 代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key ,#主键约束
name varchar(20),#唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆'#默认约束
) ;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询 。代码如下:
#创建分数表
create table score
(
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id)#通过外键创建链接
) ;
创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表
删除外键:
alter table drop foreign key '外键名'.
注意:
只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除
主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西 。外键是别人执行你的东西 。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
一、主键是能确定一条记录的唯一标识 , 比如 , 一条记录包括身份正号,姓名 , 年龄 。身份证号是唯一能确定你这个人的,其他都可能有重复,所以 , 身份证号是主键 。
外键用于与另一张表的关联 。是能确定另一张表记录的字段,用于保持数据的一致性 。比如 , A表中的一个字段 , 是B表的主键,那他就可以是A表的外键 。
mysql外键约束怎么写mysql外键代码怎么写你好朋友
1.简介
外键表示一个表中mysql外键代码怎么写的一个字段被另外一个表中的字段应用.外键对相关表中的数据造成mysql外键代码怎么写了限制,使MySQL 能够保证参照完整性.
在MySQL 中,InnoDB 存储引擎支持外键.在一张表中,可以存在多个外键.
外键的创建可以在创建表的时候创建,也可以在创建表之后增加(考虑数据的完整性问题).
父表:外键所指向的表.
字表:相对于父表,拥有外键的表.
2.语法
create 语法
create table table_name(
column_1,
column_2,
....
constraint constraint_name foreign key (column_name)
references parent_table(column_name)
on delete action
on update action
) engine=InnoDB default charset utf8;
constraint 子句允许为外键定义一个名称,如果不写,MySQL 自动生成一个名称
foreign key 子句指定子表中要应用父表的列.注意:MySQL 会自动创建一个基于外键的索引.
references 子句指定父表中的被引用字段.foreign key 和references 指定的列数必须相同.
on delete: 定义当父表中的记录被删除时,子表的记录应该执行的动作.action包括:
on delete restrict:(默认),父表不能删除一个已经被子表引用的记录.
on delete no action:等同与on delete restrict
on delete cascade: 级联模式,父表删除后,对应子表关联的数据也跟着被删除
on delete set null:置空模式,父表删除后,对应子表关联的外键值被设置为NULL,需要注意的是,如果子表的外键设置not null ,则不能使用这种模式,因为会相互冲突.

推荐阅读