主键约束:primary key
声明了主键约束的列上不允许插入重复的值,一个表中只能有一个主键约束,通常加在编号列,会加快数据的查找速度,并且编号会按照从大到小的顺序排列
: 主键约束的列禁止插入null
外键约束:
声明了外键约束的列,插入的值必须在另一个表中出现过才行;外键列要和对应的主键列类型要保持一致
目的就是为了让两个表之间产生关联
foreign key(外键列) references 另一个表 (主键列)
auto_increment 自动增长,如果设置了自增列,在插入数据的时候,只需要赋值为null,就会获取当前的最大值然后加1插入

那有没有小伙伴很迷惑的说如果在主键上设置自增,那岂不是很矛盾,一个不允许为空,一个又要全部设置为null.其实在这里一点也不奇怪,有一个说法,在主键列上设置自增,正是有了自增列的出现,让本不允许的为空的主键,反而又可以为空了。`

#设置客户端连接服务器端的编码
set names utf8;
#丢弃数据库如果存在
drop database if exists zw;
#创建新的数据库,并设置编码格式
create database zw charset=utf8;
#进入创建的数据库
use zw;
#创建主表
create table zhu(zid int primary key,zname varchar(15)
);
#创建外表
create table wai(wid int primary key auto_increment,wname varchar(15),zhuid int,//意思就是说使这一列与主键产生关联foreign key (zhuid) references zhu(zid)//固定语法,foreign key(外键的意思)(zhuid外键表咧名子)references取值范围zhu(zid)主键列下的zid
);
#主表插入值
insert into zhu values
(10,'联想'),
(20,'戴尔'),
(30,'小米');
#外表插入值
insert into wai values
(null,'小米Air',20),
(null,'TP',10),
(null,'外星人',30);

那怎么让两个表之间产生关联呢,例如:联想所属TP,戴尔所属小米Air,小米所属外星人,
要想实现这个,就要用到多表查询语句了
select wname,zname from wai,zhu where zhuid=zid;
select 要与另一个表产生关联的表列,另一个表列 from 表名,另一个表名 主键列=外键列;
最后查询结果如下:

Mysql主键约束与外键约束相关推荐

  1. MySQL(四)—— 数据表的约束(外键约束,主键约束等)

    文章目录 数据表的约束 主键约束 非空约束 默认值约束DEFAULT 唯一性约束 UNIQUE 外键约束 FOREIGN KEY 创建外键 数据的一致性了解 删除外键 外键约束需要注意的细节 数据表的 ...

  2. MySQL—表的完整性约束(外键约束)(一)

    1.什么是完整性约束? 为防止不符合规范的数据存入数据库,在用户对数据进行插入.修改.删除等操作时,MySQL提供了一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据的准确性和一致性, ...

  3. Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写

    Oracle数据库:约束条件:主键约束.唯一约束.检查约束.非空约束.外键约束.默认值填写 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开 ...

  4. day 06 非空约束、唯一约束、主键约束、外键约束

      由于sql语句不区分大小写,为了书写方便,本文所有命令统一使用小写  往期内容 day 01 初识Mysql以及DDL数据定义语言  day 02 DML数据操作语言​​​​​​ day 03 D ...

  5. MySQL数据类型、约束、外键、索引、存储引擎

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MySQL中数据类型 整型 浮点型 字符串类型 枚举和集合 时间类型 timestamp YYYYMMDDHHMMSS(时间 ...

  6. MySQL多表操作的外键约束

    目录 一.多表关系 一对一关系 一对多/多对一关系 多对多关系 二.外键约束 特点 创建外键约束 方式1-在创建表时设置外键约束 方式2-在创建表时设置外键约束 在外键约束下的操作 1.数据插入 2. ...

  7. mysql数据库教程 外键_myMySQL数据库外键约束怎么写 MySQL数据库使用教程

    mysql外键约束的写法:[[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1].外键约束是表的一个特殊字段,经常与主键约束一起使用. 在 CREATE TAB ...

  8. mysql创建表时设置外键_mysql创建表时设置外键约束的方法

    mysql创建表时设置外键约束的方法 发布时间:2020-06-17 15:54:11 来源:亿速云 阅读:312 作者:元一 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中, ...

  9. 六、约束(主键约束、唯一约束、非空约束、检查约束、外键约束)

    ## 约束,数据类型,触发器 ## 保证数据的正确性,完整性,有效性 /*主键约束唯一约束非空约束检查约束 (mysql8才有)外键约束默认值约束 */ 1.主键约束 ## 主键约束: 唯一非空 ## ...

  10. mysql中的外键约束_MySQL外键约束

    在本教程中,您将了解MySQL外键(foreign key)以及如何在MySQL中创建,添加和删除外键约束. MySQL外键简介 外键表示一个表中的一个字段被另一个表中的一个字段引用.外键对相关表中的 ...

最新文章

  1. HP 服务器使用 SmartStart CD 引导安装 windows 2008 操作系统
  2. ACM-ICPC 2018 焦作赛区网络预赛 J(二分+JAVA高精)
  3. pythonselenium实战 excel读取和写入_Python3.6+selenium2.53.6自动化测试_读取excel文件的方法...
  4. unity获取电磁笔压感_1024级压感 原道W8S电磁笔的秘密
  5. EOS 源代码解读 (2)插件-插件模板
  6. java timer 定时任务
  7. Android 系统(158)---Android O、N 减少占用ROM空间或者加快安装速度
  8. UEFI 引导与 BIOS 引导
  9. 亚马逊EC2构建代理服务器心血历程
  10. 在macOS Big Sur上如何重置蓝牙?
  11. java中static代码块_java中静态代码块详解
  12. java web在线购物_JAVAWEB网上商城购物系统
  13. windows虚拟网卡驱动开发~开源(建议收藏)
  14. mysql运维监控工具排名_运维监控工具
  15. 面试:Android应用的崩溃率
  16. scala程序启动时,Could not locate executable null\bin\winutils.exe in the Hadoop binaries解决方案...
  17. 家用游戏机主机的发展历史
  18. 拼多多店铺的先用后付|盛天海科技
  19. 工程师的浪漫:用机械臂画一个爱心
  20. 物理/逻辑CPU、Core、Thread等概念

热门文章

  1. ORA-01654 索引 无法通过 扩展 2种情况分析
  2. 44.蓝桥杯之黄金分割数
  3. python怎么清屏_python怎么清屏
  4. docker 运行过程 以及网络
  5. 并查集---宗教信仰
  6. 成为java工程师要怎么做_怎么样成为java工程师?你要掌握这些
  7. 如何爬blob:htttp://开头的视频
  8. 奇迹服务器组服务端连接原理
  9. Zookeeper3.5.7集群搭建
  10. 清新脱俗的TensorFlow CIFAR10例程的代码重构——更简明更快的数据读取、loss accuracy实时输出