Mysql常见命令03

本文介绍了数据库中的关键操作,包括连表查询(如UNION、LEFT JOIN、RIGHT JOIN、INNER JOIN)、CASE语句用于值替换、数据加载方法以及视图的创建和使用。此外,还探讨了执行计划的顺序、索引的添加与删除以及事务处理,强调了事务的开始、回滚、提交和结束。通过对这些概念的理解和应用,可以提升数据库查询效率并确保数据一致性。
摘要由CSDN通过智能技术生成

连表联查
    union:结果集进行合并(纵向合并)
        格式:
            查询语句 union 查询语句
        注意:
            查询列数必须相同
            字段为第一个sql语句的字段
            union默认去重
            union all不去重

    left join(以左表为基准关联右表中的数据)
        格式:
            select * from 左表 left join 右表 on 关联条件;
        注意:
            左表匹配不到右表,以null不全
            右表匹配不到左表,不显示
    right join(以右表为基准关联左表中的数据)
        格式:
            select * from 右表 left join 左表 on 关联条件;
        注意:
            左表匹配不到右表,不显示
            右表匹配不到左表,以null不全

    inner join(求两张表的交集)
        格式:
            select * from 右表 inner join 左表 on 关联条件;
        注意:
            关联条件可写可不写
            如果不写可以写为select * from 表1,表2 where 子句;

case:值的替换
    格式:
        case when 条件 then 为true的结果 [when 条件 then 为true的结果] [else 为false的结果] end

从其他表加载数据
    格式1:
        create table 表名 as 查询语句;
    格式2:
        insert into 表名 查询语句;
    注意:字段属性和数据类型和其他表保持一致

视图:由查询结果得到的一张虚拟表(临时表,虚表),虚拟表和基本表有一对一和一对多的关系
    创建:
        create view 视图名称 as 查询语句
    一对一(数据和基本表一样):增删改查
    一对一(数据由基本表聚合):查    
    一对多(数据由基本表聚合):查
    一对多(数据由连表联查):查改
    注意:虚拟表不存储任何数据,数据存储在基本表中,基本表当中数据发生改变虚拟表中的数据也能发生改变
        创建视图,查询语句中不能出现子查询(不能作为一张表,可以作为结果进行筛选),把子查询作为视图之后再创建视图
    
    查询视图结构:
        desc 视图名称;
        show create view/table 视图名称;

    删除视图:
        drop view 视图名称;
执行计划
    from--where--group by--having--select--order by
    from:需要从哪个数据表检索数据
    where:过滤表中数据的条件
    group by:如何将上面过滤出的数据分组
    having:对上面已经分组的数据进行过滤的条件  
    select:查看结果集中的哪个列,或列的计算结果
    order by :按照什么样的顺序来查看返回的数据

索引
    添加:
        alter table 表名 add index 索引名称(字段);
    删除:
        alter table 表名 drop index 索引名称;
    注意:每个字段都可以添加索引
        主键默认含有索引
        不要每个字段都添加索引(索引也需要消耗资源),只需要给常用字段添加索引

事务:批处理,保证多个sql语句一起执行成功或一起执行失败(回滚撤销当前操作)
    开始事务:
        begin;
    回滚事务:
        rollback;
    提交事务:
        commit;
    结束事务:
        end;

注意:没有commit或end之前,事务中的所有操作都是临时的(在缓存中的)
    commit或end之后,把这些临时的(在缓存中的)数据提交到原始数据中进行修改
    end默认执行commit;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值