数据库主键与外键

数据库主键与外键主键概念 主关键字 primarykey 是表中的一个或多个字段 它的值用于唯一地标识表中的某一条记录 外键概念 外键 foreignkey 能保持数据的一致性 完整性主键用力啊标识数据的唯一性 而外键主要保证多张表的数据一致性 也就是需要保持多表同一数据的一致性 也许直接晦涩的解释其概念 对于起步接触数据库的人来说不太友好可以看如下实际用例 建一张 department 表 也可以把其理解为主表 这张主表用于记录部门 id 的唯一性 createtabled idintpr

主键概念:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
外键概念:外键(foreign key)能保持数据的一致性、完整性
主键用力啊标识数据的唯一性,而外键主要保证多张表的数据一致性,也就是需要保持多表同一数据的一致性,也许直接晦涩的解释其概念,对于起步接触数据库的人来说不太友好可以看如下实际用例。
建一张department表,也可以把其理解为主表,这张主表用于记录部门id的唯一性。


create table department( id int primary key auto_increment, dep_name varchar(20), dep_location varchar(20) ); 

建一张employee表,也可以把其理解为从表,这张表用于记录员工所在部门的一致性

create table employee( id int primary key auto_increment, name varchar(20), age int, dep_id int foreign key -- 外键对应主表的主键 ); 

向这两张表中添加数据

-- 添加 2 个部门 insert into department values(null, '研发部','广州'),(null, '销售部', '深圳'); select * from department; -- 添加员工,dep_id 表示员工所在的部门 INSERT INTO employee (NAME, age, dep_id) VALUES ('张三', 20, 1); INSERT INTO employee (NAME, age, dep_id) VALUES ('李四', 21, 1); INSERT INTO employee (NAME, age, dep_id) VALUES ('王五', 20, 1); INSERT INTO employee (NAME, age, dep_id) VALUES ('老王', 20, 2); INSERT INTO employee (NAME, age, dep_id) VALUES ('大王', 22, 2); INSERT INTO employee (NAME, age, dep_id) VALUES ('小王', 18, 2); select * from employee; 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233773.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux vim dd命令_vim命令和vi的区别

    linux vim dd命令_vim命令和vi的区别Vim是从vi发展而来的文本编辑器,可以用颜色或底线等方式来显示一些特殊的信息。Vim是Linux中必不可少的工具,搭建网站修改配置文件时经常用到。本教程介绍Vim的模式和常用操作。背景信息Vim的各个模式介绍如下表所示:模式作用模式转换普通模式(NormalMode)在该模式下,您可以复制、粘贴、删除字符或行。运行vim打开文件时,即进入普通模式。在其他四个模式下,按Esc键…

    2022年9月22日
    0
  • pandas库如何安装_python无法安装库

    pandas库如何安装_python无法安装库Python之pandas库的安装及库安装两方法总结如果你连续看了博主的各类Python的库引用,你会发现这都是套路!!!先上正儿八经的流程,后面一句话总结一下这些库的安装套路。不知道安装库的你们用的什么操作?1.pandas库的安装(1)打开cmd窗口。点击开始栏,搜索cmd并打开。(2)找到安装的Python路径。可以通过右键点击Python快捷键,查找文件路径。(博主电脑并…

    2022年9月26日
    0
  • Qt学习—qt编写定时关机程序

    Qt学习—qt编写定时关机程序编写了一个简单的定时关机程序,软件界面如下。顺便记录一下所用的控件的一些简单的使用方法。程序中用到的控件主要是QLCDNumber(数码管控件)以及QSpinBox()(滚动框控件)。通过system()调用系统的关机命令。需要包含头文件stdlib.h。此外涉及到数码管以及滚动框显示数字时,前缀“0”的显示和消隐的问题。以下是代码。首先是main.cpp#include

    2022年7月22日
    24
  • html5 sexteen,Sexy TV shows blamed for teen pregnancies

    html5 sexteen,Sexy TV shows blamed for teen pregnanciesExposuretosomeformsofentertainmentisacorruptinginfluenceonchildren,leadingteenswhowatchsexyprogramsintoearlypregnanciesandchildrenwhoplayviolentvideogamestoadoptaggressiv…

    2022年5月24日
    57
  • Jenkins自动构建部署项目到远程服务器上

    Jenkins自动构建部署项目到远程服务器上1.下载jenkins下载地址:https://jenkins.io/启动jenkins方式有2种1.1切换到jenkins.war包的存放目录启动命令:java-jarjenkins.war启动jenkins访问:localhost:8080就能…

    2022年6月2日
    61
  • file_get_contents(“php://input”)的使用方法

    file_get_contents(“php://input”)的使用方法

    2021年10月11日
    102

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号