mysql主键和外键示例_SQL数据库中主键和外键的应用实例

145220934_1_20180925115106645

数据库

什么是数据库主键(Primary Key)?

数据库主键(Primary Key):指的是一个列或多列的属性组合,其属性值能唯一标识一条记录,通过它可强制表的实体完整性。

145220934_2_20180925115106724例如:

(tb_Book表:BookName、Author、Publishing、ISBN、BookClass、Count......)

其中每本图书的ISBN号是唯一的,ISBN即可为一个主键。 (key-ISBN)

145220934_3_20180925115106802

主键的类型:单一主键(Single Key): 唯一的键做主键

145220934_4_20180925115106895属性组合主键(Property Group Keys):一个属性组合标识一条记录。

145220934_5_201809251151075

主键的设置方法:要设置的主键列属性-右键-设置主键。

145220934_6_2018092511510767

主键的功能:1、保证数据库实体的完整性;

主键是能确定一条记录的唯一标识,不能重复。2、 加快数据库的操作速度;

提供标识,方便索引。3、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

主键的设置sql语句:

新建SQL Query1.sql 查询:然后添加如下语句---F5(运行)--执行即可得到一个带有主键的表格,STUDENT,主键为:StudentNo。

代码如下:

--这是SQL中的注释信息,使用两个减号来注释。drop table STUDENT --删除表STUDENTcreate table STUDEN --创建表STUDENT(StudentNo char(4) primary key, --设置StudentNo为主键StudentName char(8),Age int(4),Dept char(20))

145220934_7_20180925115107161

外键(Foreign Key):外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。

145220934_8_20180925115107270

SC表中的StudentNo不是SC表的主键,但它和S表中的StudentNo相对应,并且S表中的StudentNo是S表的主键,则称SC表中的StudentNo是S表的外键。

145220934_9_20180925115107458

主键和外键所起约束作用:外键取值规则:空值或参照的主键值。

(1)插入非空值时,如果主键表中没有这个值,则不能插入。

(2)更新时,不能改为主键表中没有的值。

(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

(4)更新主键记录时,同样有级联更新和拒绝执行的选择。

主键、外键和索引的区别:

145220934_10_20180925115107661


版权声明:本文为weixin_36127082原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。