我对mysql的深入了解

      在对结构复杂的数据库时,我发现对数据库的子查询、进行存储过程以及建立视图尤其重要。现在针对我对自己学习的知识进行总结一下。

      一、对数据库的子查询

      1.例子:从两张表中查询想要的数据再对它们进行整合

              select name,t.total from stu1,

              (select sum(yield) as ‘total’ from stu2 ) as t

              where name=’林六’;

              可以说上面的一条sql语句为两条sql语句的组合,这用法的好处是即使表stu1、stu2两张表没关联,把select sum(yield) as ‘total’ from stu2语句付给t,然后再另一条sql语句上对t进行操作。

       2.group by 用法

           对数据库进行集合处理时,group by 非常好用,但是要清楚它的逻辑

       例子:

          select sum(mark) from stu group by name;

          算出每个同学的总成绩。

   3.union用法
     

SELECT ‘主原料’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’主原料’

UNION

SELECT ‘燃料’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’燃料’

UNION

SELECT ‘能源’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’能源’

UNION

SELECT ‘辅助材料’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’辅助材料’

UNION

SELECT ‘人工费用’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’人工费用’

UNION

SELECT ‘修理费’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’修理费’

UNION

SELECT ‘服务费’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’服务费’

UNION

SELECT ‘一般厂务’ AS ‘costItem’,sum(preUnitconsume)AS’actualCost’ FROM report_fivefactoranalysis WHERE elmtGroupName=’一般厂务’;

4.存储过程

建立存储过程

CREATE
 
PROCEDURE
 demo_out_parameter(
OUT
 p_out 
int
) 存储过程就是在数据库里面定义的函数 个人觉得得的好处: 数据自行在数据库内部处理,无需把数据从数据库取出后再处理,这样让数据处理更简单了些,还可以提高速率 5.视图 建立视图 CREATE VIEW teams(TEAMNO,PLAYERNO,DIVISION) AS SELECT  DISTINCT TEAMNO,CAPTAIN,DIVISION FROM result 视图可以把多张表的数据集合为一张虚表 优点:对数据的集合不花耗时间,实现简单,实表变,视图自动跟着变。 缺点:不能进行子查询 个人觉得:对操作难的数据库处理时,最好采用视图与存储过程结合,能用视图尽量用视图,尽量别用临时表。

    原文作者:mysql
    原文地址: https://blog.csdn.net/qq2571664742/article/details/50208091
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞