MySQL -- 高级SQL大全

一、视图

  1、触发器:

CREATE VIEW name AS SELECT * FROM tb_name WHERE ~~ ORDER BY ~~;

  2、视图的特殊作用:  

      a、简化表之间的联结(把联结写在select中);

      b、重新格式化输出检索的数据(TRIM,CONCAT等函数);

      c、过滤不想要的数据(select部分)

      d、使用视图计算字段值,如汇总这样的值。

二、使用存储过程:

    1、创建存储过程:

CREATE PROCEDURE pro(IN num INT,OUT total INT)
BEGIN
SELECT SUM(score) INTO total FROM tb_name WHERE id=num;
END;

     ***这里的  IN (传递一个值给存储过程),OUT(从存储过程传出一个值),INOUT(对存储过程传入、传出),INTO(保存变量)

  2、调用存储过程:

CALL pro(13,@total)      //这里的存储过程两个变量,一个是IN一个是OUT,这里的OUT也是需要写上的,不写会出错
SELECT @total         //这里就可以看到结果了;

  3、存储过程的其他操作:

SHOW PROCEDURE STATUS;      //显示当期的存储过程
DROP PROCEDURE pro;         //删除指定存储过程

三、使用游标

1、游标的操作

CREATE PROCEDURE pro()
  BEGIN 
  DECLARE ordername CURSOR FOR
  SELECT order_num FROM orders;
  END;
OPEN ordername;    //打开游标
CLOSE ordername;    //关闭游标

holder

四、触发器

  1、支持触发器的语句有DELETE、INSERT、UPDATE,其他均不支持

  2、创建触发器:

CREATE TRIGGER trig AFTER INSERT ON ORDERS FOR EACH ROW SELECT NEW.orser_name;
INSERT语句,触发语句,返回一个值

  3、删除触发器

    DROP TRIGGER trig;

五、整理:

posted on 2016-04-25 12:46  yeatschen  阅读(99)  评论(0)    收藏  举报

导航