15.1数据库外键

本文详细介绍了数据库外键的概念,其在保持数据一致性和完整性方面的作用,以及在MySQL(尤其是InnoDB存储引擎)中的使用方法,包括建表时创建外键、建表后添加外键、删除外键以及外键的特点和应用场景。
摘要由CSDN通过智能技术生成

数据库之外键

==========================、

一、外键的介绍

1、外键的定义

让一张表记录的数据不要太过于冗余,在数据库中对表的关系进行解耦,尽量让表的数据单一化。

2、外键的作用

保持数据的一致性和完整性

3、msyql  数据库中的存储引擎?

myisam  (默认)

innodb  (外键需要用到innodb存储格式)

4、查看存储引擎

格式:show  table   status    from  库名  where  name='表名' ;

 案例:show  table   status    from  hz017  where  name='student2' ;

 5、存储类型:myisam  (默认)

 5、查看外键方法:

(1)在navicat中查看

(2)

格式:show   create    table   表名;

案例:show    create   table    cc

==================================================

二、外键运用

(一)建表时创建外键

(1)创建  engine=INNODB  格式

格式:

CREATE table  表名  (字段名   字段类型(字符长度) PRIMARY key ,  字段名      字符类型(字符长度) ,constraint   外键名   FOREIGN key(子表字段)
REFERENCES    父表(父表字段)) engine=INNODB ;

案例:

#父表
create table ss (id int(10) PRIMARY key, name varchar(20) )ENGINE=INNODB ;
#子表
CREATE table cc (cid int(10) PRIMARY key ,cname VARCHAR(20) ,constraint wj FOREIGN key(cid) 
REFERENCES ss(id)) engine=INNODB ;

constraint     外键 名         (指定外键名)

FOREIGN key   子表字段       指定的字段

 REFERENCES     父表(父表字段)    引用外部表的主键

(二)建表以后再添加外键

格式:

alter TABLE 子表   add CONSTRAINT   外建名    FOREIGN key (子表字段)    REFERENCES   父表(父表字段)

(1)新建两个表

#父表

create table xx (id int(10) PRIMARY key ,name varchar(20))engine=INNODB ;
#子表
create table yy (yid int(10) PRIMARY key ,yame varchar(20))engine=INNODB ;

select * from xx ;
SELECT * from yy;
show create table yy;

alter TABLE yy add CONSTRAINT wjm FOREIGN key (yid) REFERENCES xx(id)

==============================================================================

删除外键:

格式:ALTER  TABLE     表名   drop  foreign key  外键名;

案例:ALTER  TABLE   yy  drop  foreign key  wjm ;

=======================================================================

外键特点:

外键实际操作:

1、当父表不存在的数据,子表也无法插入数据(子表无法插入数据)

2、父表中存在的数据,子表就可以插入数据(插入数据)

 3、删除数据,子表中存在的数据,直接删除.。

父表是无法删除 (要先删除子表数据,在删除父表数据)

4、删除父表的数据,先删除子表,在删除父表

 =========================================

面试题:

1、什么是外键?

2、外键作用?

3、如何创建外键?

4、如何删除外键

5、公司中为什么使用外键?

(1)保存数据的一致性和完整性

(2)公司数据量大,造成数据重复,新旧表维护成本大,使用外键让公司数据进行分类和管理,让基础数据放在主表,子表单一化,避免数据的冗余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值