189 8069 5689

MySQL多表的关系是什么

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(可靠性)

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

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


网页标题:MySQL多表的关系是什么
网页URL:http://cdxtjz.cn/article/gcsiop.html

其他资讯