MySQL中的多表设计

由于业务之间的相互关联,所以各个表结构之间也存在着各种联系

基本分为三种:

一对多

多对多

一对一

外键语法

create table 表名(

字段名 数据类型,

...

[constraint] 外键名称 foreign key (外键字段名)references 主表名 (字段名)

);

--见完表以后,添加外键

alter table 表名 add constraint 外键名称 foreign key (外键字段名) references 主表(字段名);

foreign key物理外键

注意 使用foreign key 定义外键关联另一张表

缺点:

  1. 影响增、删、改的效率

  2. 仅用于单节点数据库,不适用与分布式、集群场景

  3. 容易引发数据库死锁问题,消耗性能

逻辑外键

概念:在业务层逻辑中,解决外键关联

通过逻辑外键,就可以很方便的解决上述问题

内连接

隐式内连接:select 字段列表 from 表1,表2 where 条件...;

显示内连接:select 字段列表 from [inner] join 表2 on 连接条件...;

外连接

左外连接:select 字段列表 from 表1 left [outer] join 表2 on 连接条件...;

右外连接:select 字段列表 from 表1 right [outer] join 表2 on 连接条件...;

相关推荐

  1. MySQL设计

    2024-05-14 06:04:07       26 阅读
  2. MySQL-设计

    2024-05-14 06:04:07       30 阅读
  3. MySQL 设计

    2024-05-14 06:04:07       65 阅读
  4. MySQL:DQL语句和设计

    2024-05-14 06:04:07       32 阅读
  5. Mysql连接

    2024-05-14 06:04:07       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-14 06:04:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-14 06:04:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-14 06:04:07       82 阅读
  4. Python语言-面向对象

    2024-05-14 06:04:07       91 阅读

热门阅读

  1. 【PyTorch】torch.distributed()的含义和使用方法

    2024-05-14 06:04:07       30 阅读
  2. 喜马拉雅xm音频解码

    2024-05-14 06:04:07       33 阅读
  3. TCP传输的三次握手四次挥手策略

    2024-05-14 06:04:07       27 阅读
  4. 机器学习概念:几种常见的距离参数概念和应用

    2024-05-14 06:04:07       21 阅读
  5. 多线程中的单例模式

    2024-05-14 06:04:07       26 阅读
  6. 网络层相关协议

    2024-05-14 06:04:07       25 阅读
  7. 微信小程序、uniapp密码小眼睛

    2024-05-14 06:04:07       29 阅读
  8. springboot 开启缓存 @EnableCaching(使用redis)

    2024-05-14 06:04:07       33 阅读
  9. 蓝桥杯备战20.有奖问答_动态规划

    2024-05-14 06:04:07       33 阅读
  10. 【经验分享】SFTP使用指南

    2024-05-14 06:04:07       28 阅读
  11. 云原生周刊:Kubernetes Grafana 看板更新 | 2024.5.13

    2024-05-14 06:04:07       32 阅读