mysql嵌套建表语句_MySQL数据库-表操作-SQL语句(二)

1. MySQL多表查询

1.1 外键约束

为了消除多张表查询出现的笛卡尔积的现象,MySQL在建表并进行多表之间的关键查询可以使用外键关联查询。

外键:从表1(sub)的某列引用(ref)另外一个表2(main)的某列的值,把表1的这列叫做表2这列的外键。

1.2 外键的设置使用

63b8cb6e98e96bda4a56f681508f8357.png

比如上述最简单的员工(employee)和部门表(department),设置外键dept_id与id相关联。

步骤如下:

①在多方表中设置fk外键,使用外键dept_id关联一方表中的主键id,并选择好参考表;

979528031bdf01db38e71313ad658f6d.png

②修改选项设置中的存储引擎为InnoDB,支持设置外键操作;

516b6e7bdc363a97e687199834d17d8c.png

注意:在MySQL中,InnoDB支持事务和外键.MyISAM 不支持事务和外键。

上述操作也可以使用SQL语句方式修改存储引擎为InnDB:

ALTER TABLE表名ENGINE='InnoDB';

如在命令行界面输入如下语句:

4bfc8c62e6bdb771e350e095eec90be5.png

同样使用SQL语句创建外键关联:

ALTER TABLE employee ADD CONSTRAINT employee_fk(外键名) FOREIGN KEY (dept_id) REFERENCES  dept(dept_id);

1.3 连接查询分类

9744976b9402576411b46efd8032c9d5.png

连接查询总的分类可以用一张图来简单描述,主要分为外连接查询(左外连接、右外连接、全连接)、内连接查询(内连接、自连接)。

1.4 内连接查询

内连接两张表的情况如下图,连接查询得到的是两张表的交集部分。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值