【转】大数据【八十】Linux_Mysql【十】-- Mysql外键是什么?有哪些用处
MySQL是一个关系型数据库管理系统,也是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL中“键”和索引的定义是一样的,所以外键和主键也是索引的一种。
而mysql外键的概念对于新手来说,可能不是特别容易理解。
1. 下面我们举个简单的例子介绍mysql外键是什么?
外键是相对于主键说的,是建立表之间 的联系的必须的前提。
比如这里有两张,user(用户)表和qx(权限)表,user中gid是用户权限id,而gid是依赖于qx中的id。那么qx中的id就是user的外键。
也就是当我们给gid创建一个外键,这个外键就是qx中的id时,gid就必须与qx中id一致,我们可以通过外键使两张表进行关联。
注意:MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引
那么创建外键的作用是什么?
可以使得两张表关联,保证数据的一致性和实现一些级联操作。
那么保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!可以使得两张表关联,保证数据的一致性和实现一些级联操作。
作用简单总结:
1、为了一张表记录的数据不要太过冗余。
2、保持数据的一致性、完整性。
------------------------------------------以下内容非上文-------------------------------------------------------------------------------------------
参考:https://blog.****.net/cpc784221489/article/details/92796029
1. 外键是表中的一个列,其值必须在另一个表的主键中给出。
2. 外键的作用是:
- 保证数据的完整性,
- 可帮助防止意外的删除
3. 举个例子:
现在我们有两个表,orders(订单表:所有的顾客的购买行为)和customers(顾客表:其中客户ID为主键) orders表和customers表的关联在于:对于orders表中的每一个顾客,在customers表中都能找到相应的人与之对应。否则便会出现orders表中有顾客的购买行为,但customers表中却没有顾客,产生异常,数据不完整