视图
视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。
创建视图:
今后可以直接通过:
删除视图:
修改视图:
注意:使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以使用其对真实表进行创建、更新和删除操作,仅能做查询用。
触发器
对某个表进行【增/删/改】操作的前后如果希望触发某个特定的行为时,可以使用触发器,触发器用于定制用户对表的行进行【增/删/改】前后的行为。
创建触发器:
也可以用 after insert 表示插入之后执行触发器中语句,还有其他操作:before update、after update、before delete 、after delete
注意:NEW表示即将插入的数据行,OLD表示即将删除的数据行
删除触发器:drop tgigger tg_before_insert_student
触发器无法由用户直接调用,而知由于对表的【增/删/改】操作被动引发的。
存储过程
存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行。
对于存储过程,可以接受参数,其参数类型有三类:
in 只用于传入参数
out 用于返回值
inout 即可以传入又可以当作返回值
有参数的存储过程:
结果集加返回值:
事务型存储过程:
游标:
动态执行SQL:
删除存储过程:drop procedure proc_name;
执行存储过程:
函数
MySql中的函数分为:内置函数、自定义函数
内置函数参考:
http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/functions.html#encryption-functions
自定义函数: