存储过程和函数
创建存储过程
CREATE PROCEDURE过程名(IN/OUT/INOUT 参数名 类型)
BEGIN
(前缀) 语句
END
创建存储函数
CREATE FUNCTION名(参数)
RETURNS 类型
函数体(可以直接RETURN(语句))
流程控制有:if,case,loop,leave,iterate,repeat,while
※存储过程的限制更少
定义变量:
DECLARE 变量名 类型 ...... DEFAULT 默认值赋值变量:
①SET 变量名=表达式,变量名2=表达式 ...
②SELECT 字段1,字段2, ...... INTO 变量名1,变量名2, ...... 条件表达式
光标:
声明光标——DECLARE 名 CURSOR FOR 选择SELECT语句
打开光标——OPEN 光标名
使用光标——FETCH 光标名 INTO 参数1,参数2,...... (把SELECT出来的放参数里)
关闭光标——CLOSE 光标名
调用存储过程:CALL 名(参数)
调用存储函数:SELECT 名(参数)
查看存储过程/函数:SHOW PROCEDURE/FUNCTION STATUS LIKE ...
修改存储过程/函数:ALTER PROCEDURE/FUNCTION 过程名/函数名 参数
删除存储过程/函数:DROP PROCEDURE/FUCTION [IF EXIT] 名
视图
创建视图:
CREATE [OR REPLACE
(是否替换已创建视图)]
[ALGORITNM
(算法)={UNDEFINED
(自动)|MERGE
(视图语句和视图定义合并)|TEMPTABLE
(临时表))}]
VIEW 试图名[列名1,列名2...] AS SELECT 语句
[WITH [CASCAD
(满足所有条件)|LOCAL
(满足本身)]CHECK OPTION]
※可以单表或多表建视图
查看视图:
DESCRIBE 视图名 —— 查看视图结构
SHOW TABLE STATUS LIKE '视图名' —— 看视图信息
SHOW CREATE VIEW 视图名
SELECT * FROM 视图 —— 查视图中数据
修改视图:
①用CREATE 创建视图语句 加上OR REPLACE 替换原本视图
②ALTER [ALGORTHM={UNDEFINED|MERGE|TEMPTABLE}]
删除视图:
DROP VIEW [IF EXISTS] 视图1,视图2 ... [RESTRICT|CASCADE]
触发器:
创建触发器:
CREATE TRIGGER 触发器名 触发时间
(after/before) 触发事件
(insert/update/delete) ON 表名 FOR EACH ROW
BEGIN
END
查看触发器信息:
SHOW TRIGGERS;删除触发器:
DROP TRIGGER 数据库名.触发器名;MySQL用户管理
略