导图社区 mysql-多表操作
mysql-多表操作数据库的多表操作 实际开发中业务逻辑较为复杂,需要对多张表进行操作。
今天我们就来介绍一下对单表执行查询操作时,MySQL有哪些查询数据的方式。很详细,有兴趣的可以看下。
mysql数据库的基本操作包括数据库创建、数据库创表、选中数据库、使用命令创建等等。
数据库中的数据保存在数据表中,在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,比如:数据类型和约束。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
多表操作
多表查询
联合查询
select... union[all|distinct] select...
union:联合查询的关键字
all:保存所有的查询结果
distinct:可以省略 表示去除完全重复的内容
连接查询
交叉连接
select 查询字段 from 表1 cross join 表2
cross join
查询两个表所有的数据组合
内连接
select 查询字段 from 表1 【inner】 join 表2 on 匹配条件
on
不设置on 与交叉连接等价
左外连接
select 查询字段 from 表1 left【outer】 join 表2 on 匹配条件
outer可以省略
返回连接关键字左表中的所有记录
右外连接
select 查询字段 from 表1 right 【outer】 join 表2 on 匹配条件
数据表连接的字段同名
select 查询字段 from 表1 【cross|inner|left|right】 join 表2 using(同名的连接字段列表)
子查询
在一个SQL语句A(SELECT、INSERT、UPDATE等)中嵌入一个查询语句B,作为执行的条件或查询的数据源(代替FROM后的数据表),那么B就是子查询语句
必须书写在圆括号( )内
分类
标量子查询
select 字段名 from 数据源 【where】【group by】【having】【order by】【limit】
列子查询
子查询利用比较运算函数IN()或NOT IN()
行子循环
select 字段名1,字段名2...from 数据源【where】【group by】【having】【order by】【limit】
表子查询
select 字段列表 from(select 语句)【as】 别名【where】【group by】【having】【order by】【limit】
关键字
in
exists
where exists
0:不成立
1:成立
any
where 表达式 比较运算符 any(子查询语句)
比较运算符为= 时等价与in
all
where 表达式 比较运算符 all(子查询语句)
1:符合
0:不符合
外键约束
在一个表中引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束
被引用的表称为主表。
引用外键的表称为从表。
添加外键约束
foreign key...references
创建数据表/修改数据结构
DESC:可查看数据表中添加的外键约束的字段信息
SHOW CREATE TABLE:查看表的详细结构。
删除外键约束
alter table 表名 drop foreign key 外键名