学习记录-数据库-MySQL

1.多表查询

         select 字段列表 from 表1, 表2....;

        注意:多表查询会产生笛卡尔积,

        笛卡尔积:笛卡尔乘积是指在数学中,两个集合(A集合和B集合)的所有组合情况。

1.多表查询的分类

连接查询

        内连接;

                内连接:相当于查询A、B交集部分数据

                隐式内连接:

select  字段列表   from   表1 , 表2   where  条件 ... ;

                显式内连接:

select  字段列表   from   表1  [ inner ]  join 表2  on  连接条件 ... ;

        外连接:左外连接、右外连接;

                左外连接:查询左表所有数据(包括两张表交集部分数据)

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

                右外连接:查询右表所有数据(包括两张表交集部分数据)

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

注意:右外连接和左外连接可以相互替换;

子查询

        简述:SQL语句中嵌套select语句,称为嵌套查询,又称子查询。

select  *  from   t1   where  column1 =  ( select  column1  from  t2 ... );

子查询外部的语句可以是insert / update / delete / select 的任何一个,最常用的是 select。

  1. 标量子查询(子查询结果为单个值[一行一列])

  2. 列子查询(子查询结果为一列,但可以是多行)

  3. 行子查询(子查询结果为一行,但可以是多列)

  4. 表子查询(子查询结果为多行多列[相当于子查询结果是一张表])

事务

        概述:事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

  • 原子性(Atomicity):事务是不可分割的最小单元,要么全部成功,要么全部失败。

  • 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。

  • 隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。

  • 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。

索引

        概述:帮助数据库高效获取数据的数据结构;

优点:

  1. 提高数据查询的效率,降低数据库的IO成本。

  2. 通过索引列对数据进行排序,降低数据排序的成本,降低CPU消耗。

缺点:

  1. 索引会占用存储空间。

  2. 索引大大提高了查询效率,同时却也降低了insert、update、delete的效率。

结构

        索引利用的是B+Tree结构,

语法

        创建索引

create  [ unique ]  index 索引名 on  表名 (字段名,... ) ;

        查看索引

show  index  from  表名;

        删除索引

drop  index  索引名  on  表名;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值