2026/2/16 6:02:33
网站建设
项目流程
网站建设拿什么框架,怎么建立自己的网站平台多少钱,wordpress 外观 编辑,做影视网站侵权不文章目录 Java进阶 主键和外键的使用区别 一、主外键定义二、主外键用法意义三、如何创建外键
Java进阶 主键和外键的使用区别
一、主外键定义
主键#xff0c;primary key#xff1a;是被挑选出来#xff0c;作表的惟一标识的候选关键字#xff0c;一个表只有一…文章目录Java进阶 主键和外键的使用区别一、主外键定义二、主外键用法意义三、如何创建外键Java进阶 主键和外键的使用区别一、主外键定义主键primary key是被挑选出来作表的惟一标识的候选关键字一个表只有一个主键。比如一条记录包括身份正号姓名年龄。身份证号是唯一能确定你这个人的其他都可能有重复所以身份证号是主键。注意主键可以是一个字段也可以是多个字段组合成的多字段联合主键看下面这个例子#将name和deptId字段组合成为表temp的多字段组合主键 CREATE TABLE temp ( name VARCHAR(32), deptId INT, salary FLOAT, PRIMARY KEY(name,deptId) )外键外键用于与另一张表的关联。是能确定另一张表记录的字段用于保持数据的一致性。比如A表中的一个字段是B表的主键那他就可以是A表的外键。二、主外键用法意义在以后我们统一将外部关键字叫做外键外键就是另一张表中的主键。问外键有啥用啊答外键的主要作用就是保持数据的一致性完整性。再问怎么保证的呢答看下图。表 S t u d e n t : extcolor{RedOrange}{表Student:} 表Student:stuIdnameclassId1张三12李四2表 C l a s s : extcolor{RedOrange}{表Class:} 表Class:calssIdclassName1计算机1班2计算机2班看上图有两张表classId是Student的外键是Class表的主键 如果我们要删除Class表中classId为1的字段程序是会报错的因为Student表中有数据和classId为1的字段关联了是不能删除的这样子就保证了数据的一致性和完整性。继续问 那怎么才能删除呢答 需要先删除Student表中classId为1的两个字段。三、如何创建外键在MySQL中给表中字段添加外键约束的语法规则如下CONSTRAINT 外键名 FOREIGN KEY 字段名 REFERENCES 主表名(主键名)举个例子现在有两张表一张学生表一张班级表内容看上面的表CREATE TABLE student ( stuId INT PRIMARY KEY, name VARCHAR(22), classId INT, CONSTRAINT student_class_id FOREIGN KEY(classId) REFERENCES class(classId) ); CREATE TABLE class ( classId INT PRIMARY KEY, className VARCHAR(22) );