Mysql函数大全以及存储过程、函数、触发器、游标等等
https://www.cnblogs.com/slowlyslowly/p/8649430.html
MySQL大全
存储过程:
基本语法 :
create procedure sp_name([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]])
begin
.........
end
输出参数意义:
IN 修改值不会对外界变量进行改变,不会返回
out 修改值会对外界的值进行改变,会返回
INOUT 可以选择返回或者不返回
数据类型:
数值类型8种 5种整型 thinInt smallint mediumint int bigint 3种浮点型 float double decimal
时间类型 5种 data time year datatime(年月日) datastamp(年月日,时分秒)
字符串文本类型 10种 char varchar text blob thintext thinblob smalltext smallblob bigtext bigblob
修改:
ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...]
characteristic:
{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
删除
DROP PROCEDURE [过程1[,过程2…]]
函数:
create function 函数名([参数列表]) returns 数据类型
begin
sql语句;
return 值;
end;
触发器:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmt
trigger_name:触发器的名称
tirgger_time:触发时机,为BEFORE或者AFTER
trigger_event:触发事件,为INSERT、DELETE或者UPDATE
tb_name:表示建立触发器的表明,就是在哪张表上建立触发器
trigger_stmt:触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句
BEFORE INSERT,
BEFORE DELETE,
BEFORE UPDATE
AFTER INSERT,
AFTER DELETE,
AFTER UPDATE
游标:
语法:
declare cursor_name cursor for (select 语句)
使用方式: open .. ; fetch from .. into; close ..