文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL多表的关系是什么

2024-04-02 19:55

关注

MySQL多表的关系是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

多表之间的关系

  表与表之间的关系,说的就是表与表之间数据的关系。

  一对一关系

  在实际工作中,一对一在开发中应用不多,因为一对一完全可以创建成一张表

  案例:一个丈夫只能有一个妻子

  一对多关系

  案例:一个分类对应多个商品

  总结:有外键的就是多的一方。

  1.注意事项:

  一对多关系和一对一关系的创建很类似,唯一区别就是外键不唯一。

  2.一对多关系创建:

  添加外键列

  添加外键约束

  3.注意事项:

  Ø需要中间表去完成多对多关系的创建

  Ø多对多关系其实就是两个一对多关系的组合

  多对多关系创建:

  Ø创建中间表,并在其中创建多对多关系中两张表的外键列

  Ø在中间表中添加外键约束

  Ø在中间表中添加联合主键约束

多表关联查询

  6.1

  交叉连接的关键字:CROSSJOIN

  1.隐式交叉连接

  SELECT*FROMA,B

  2.显式交叉连接

  SELECT*FROMACROSSJOINB

  内连接

  内连接的关键字:INNERJOIN

  内连接也叫等值连接,内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

  1.隐式内连接

  SELECT*FROMA,BWHEREA.id=B.id

  2.显式内连接

  SELECT*FROMAINNERJOINBONA.id=B.id

  外连接

  外联接可以是左向外联接、右向外联接或完整外部联接。也就是说外连接又分为:左外连接、右外连接、全外连接

  外连接需要有主表或者保留表的概念。

  在FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:

  1.左外连接:LEFTJOIN或者LEFTOUTERJOIN

  SELECT*FROMALEFTJOINBONA.id=B.id

  2.右外连接::RIGHTJOIN或者RIGHTOUTERJOIN

  SELECT*FROMARIGHTJOINBONA.id=B.id

  3.全外连接(MySQL不支持):FULLJOIN或FULLOUTERJOIN

  SELECT*FROMAFULLJOINBONA.id=B.id

  外连接总结:

  l通过业务需求,分析主从表

  l如果使用LEFTJOIN,则主表在它左边

  l如果使用RIGHTJOIN,则主表在它右边

  查询结果以主表为主,从表记录匹配不到,则补null

  分页查询

  MySQL的分页关键字是:LIMIT

  格式:

  SELECT*FROMtableLIMIT[offset,]rows

  子查询

  定义:

  子查询允许把一个查询嵌套在另一个查询当中。

  子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。

  子查询可以包含普通select可以包括的任何子句,比如:distinct、groupby、orderby、limit、join和union等;

  但是对应的外部查询必须是以下语句之一:select、insert、update、delete。

  位置:

  select中、from后、where中.

  groupby和orderby中无实用意义。

MySQL事务处理

  MySQL事务主要用于处理操作量大,复杂度高的数据。

  Ø在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。

  Ø事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。

  Ø事务用来管理DML操作,比如insert,update,delete语句

  一般来说,事务是必须满足4个条件(ACID):

  Atomicity(原子性)

  构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。

  Consistency(稳定性)

  数据库在事务执行前后状态都必须是稳定的。

  Isolation(隔离性)

  事务之间不会相互影响。

  Durability(可靠性)

  事务执行成功后必须全部写入磁盘。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯