MySql数据库--建库、建表、添加数据、设置主键、外键、外键级联策略、多表连接、嵌套子查询

在这里插入图片描述
1、MySql数据库–Workbench建库
在这里插入图片描述
在这里插入图片描述
2、MySql数据库–Workbench建表
双击新建或已有数据库数据库名字,名字变黑加粗,说明被选中。

 PK: primary key (column is part of a pk)  主键
 NN: not null (column is nullable)  是否为空
-UQ: unique (column is part of a unique key)  外键
 AI: auto increment (the column is auto incremented when rows are inserted)  自动增加
  BIN: binary (if dt is a blob or similar, this indicates that is binary data, rather than text)   二进制
 UN: unsigned (for integer types, see docs: “10.2. Numeric Types”)
- ZF: zero fill (rather a display related flag, see docs: “10.2. Numeric Types”)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、MySql数据库–Workbench设置外键
在这里插入图片描述
4、MySql数据库–Workbench添加数据
在这里插入图片描述
5、MySql数据库–Workbench设置主键

在这里插入图片描述

6、MySql数据库–外键级联策略:更新、删除、添加
本质:保证数据库数据的合法和合理性–或称数据完整性。
在这里插入图片描述
在这里插入图片描述
(1)A表的主键作为B表的一个字段的时候, 在B表中把A表的这个主键称为外键。主表 ---- 提供主键;从表 ---- 参考主表主键。
(2)一旦设置了外键,从表添加数据的时候,外键的值必须是主表中已经存在的值,否则不允许添加;
NO ACTION(默认值)、RESTRICT当删除或者更新主表的主键的时候,报错,限制更新和删除。
SET NULL:主表修改或者删除的删除,从表的外键直接设置为null。
CASCADE(重点)
(3)级联更新、删除、添加
3-1)主表进行更新主键的时候,所有的从表的外键随之更新。

3-2)主表进行删除外键所在记录的时候,所有的从表的中该外键所在的记录同步删除,对数据的删除是毁灭性的。推荐:在主表中设置一个tinyint类型,删除后值为0。

3-3)级联添加不存在,如果需要在主表添加数据的时候同步在从表添加数据需要两个sq。

7、MySql数据库–多表连接-sql
.(1)内连接:解决“有”的问题。
语法:select 字段 from 表1,表2 where 表1的字段 = 表2的匹配字段。where后是公共字段。

select 字段 from 表1 inner join 表2 inner join where 公共字段
(2)左外连接:解决"没有"或者"有"的问题
把left join 左表的表称为左表
语法:select 字段 from 表1 left (outer) join 表2 … on 连接条件

8、MySql数据库–嵌套子查询-sql:是表连接的替代方案
可以解决"有"的问题,也可以解决"没有"的问题
语法:
select 字段 from 表1 where 公共字段 in/not in (
select 公共字段 from 表2
);
注:使用in解决有的问题,且无需去重,使用not in解决没有的问题,且无需去重。

恭喜!祝你更上一层楼

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值