news 2026/4/16 9:17:49

Java进阶 主键和外键的使用区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java进阶 主键和外键的使用区别
文章目录
    • 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:

stuId

name

classId

1

张三

1

2

李四

2

表 C l a s s : extcolor{RedOrange}{表Class:} 表Class:

calssId

className

1

计算机1班

2

计算机2班

看上图有两张表,classIdStudent的外键,是Class表的主键, 如果我们要删除Class表中classId1的字段,程序是会报错的,因为Student表中有数据和classId1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性

继续问: 那怎么才能删除呢?
答: 需要先删除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) );
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:00:16

通信协议仿真:蓝牙协议仿真_(4).蓝牙低功耗协议

蓝牙低功耗协议 引言 蓝牙低功耗(Bluetooth Low Energy,简称BLE)是一种旨在降低功耗的无线通信技术,广泛应用于健康、运动、智能家居等领域。与经典蓝牙相比,BLE在功耗、连接速度和数据传输方面有显著的改进。本节将详…

作者头像 李华
网站建设 2026/4/16 12:52:03

jEasyUI 设置冻结列详解

jEasyUI 设置冻结列详解 引言 jEasyUI 是一款流行的前端框架,它简化了网页的UI开发。在jEasyUI中,表格是常用的组件之一。冻结列功能允许用户在滚动表格时保持某些列固定显示,这对于展示大量数据时保持关键信息的可见性非常有用。本文将详细讲解如何在jEasyUI中设置冻结列…

作者头像 李华
网站建设 2026/4/12 19:23:55

XQuery 语法概述

XQuery 语法概述 XQuery 是一种用于查询结构化数据的查询语言,它主要应用于 XML 和 XPath 数据源。本篇文章将对 XQuery 的基本语法进行详细介绍,包括数据模型、数据类型、表达式、查询结构以及常用的操作符。 数据模型 XQuery 的数据模型主要包括以下几种类型: XML 文档…

作者头像 李华
网站建设 2026/4/16 12:44:53

XHTML 简介

XHTML 简介 引言 随着互联网技术的飞速发展,网页设计已经成为一个重要的领域。HTML(超文本标记语言)作为网页设计的基础,一直被广泛使用。然而,随着技术的发展,HTML面临着一些新的挑战。为了解决这些问题,XHTML(可扩展超文本标记语言)应运而生。本文将详细介绍XHTML…

作者头像 李华
网站建设 2026/4/16 10:57:57

我想知道相机的不同系列,比如因特尔realsense、奥比中光的不同系列相机,他们的SDK一样吗?或者说一般一样嘛?

我想知道相机的不同系列,比如因特尔realsense、奥比中光的不同系列相机,他们的SDK一样吗?或者说一般一样嘛?了解了!你是指同一品牌下不同系列相机的SDK是否相同或类似?对于 Intel RealSense 和 奥比中光&am…

作者头像 李华
网站建设 2026/4/16 11:00:20

[数字信号处理-入门] 采样定理

[数字信号处理-入门] 采样定理 个人导航 知乎:https://www.zhihu.com/people/byzh_rc CSDN:https://blog.csdn.net/qq_54636039 注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码 参考文章:各…

作者头像 李华