mysql进阶
视图
视图是一个基于查询的虚拟表,封装了一条sql语句,通俗的解释,视图就是一条select查询之后的结果集,视图并不存储数据,数据仍旧存储在表中。
创建视图语句:
create view view_admin as select * from admin
使用视图语句:
select * from view_admin
一个在线代码格式化工具:http://word.wdlx.com/
存储过程
存储过程是事先经过编译并存储在数据库中的一段sql语句的集合,这段sql语句中一般包含着逻辑处理,调用存储过程可以减少应用程序与数据库的交互次数。
语法:
参数共有三种:IN 输入型 OUT 输出型 INOUT 输入输出型
创建存储过程
DELIMITER$$
CREATE
PROCEDURE`news`.`test1`(INp_accountINT,OUTp_countINT)
BEGIN
SELECTCOUNT(1) INTOp_accountFROMadminWHEREaccount=P_account;
SELECTp_account;
END$$
DELIMITER ;
CALLtest1('admin',@p_count)
declare中用来声明变量,变量赋值用default使用存储过程:@为占位符
具体使用
DELIMITER$$
CREATEPROCEDURE test(IN p_day INT)
BEGIN
CASEWHEN p_day = 0THEN
SELECT"星期天";
ELSE
SELECT"星期一";
ENDCASE;
END$$
CALL test(2);
函数
函数语法:
createfunction 函数名([参数列表]) ret