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;
五、整理:
浙公网安备 33010602011771号