mysql的函数、存储过程、视图、触发器、事件等
1.字符串函数、日期函数等
当前日期+1天的日期:SELECT DATE_ADD(NOW(),INTERVAL 1 DAY)
查询两个日期间隔天数:SELECT DATEDIFF(NOW(),create_time) FROM t_quick_answer
获取创建时间的小时:SELECT HOUR(TIME(create_time)) FROM t_quick_answer
查询员工平均服务年限:select avg(to_days(now())-to_days(入职日期))/365) as avgyear from..
2.视图:视图可看作是一个或多个select结果组成的临时表,不存储具体数据,数据基于原始表,有保护作用(三方公司使用我方只提供视图如使用用户信息,而不给于数据库访问权限及时是只读权限)。可提高性能???
3.索引:
分类:
B-tree索引:(Innodb,myisam默认使用,如:普通索引,主键,唯一,组合 )hash索引:memory引擎默认(快一次查询到位,有较多缺陷,一般btree)。详细链接:http://mxdxm.iteye.com/blog/2196229
优缺点:
优点:提高检索速度,Btree 遍历查找快,hash甚至一次到位;索引排序分组降低CPU消耗
缺点:索引其实也是一张表也占空间,需要时间建立索引,顾增删改速度降低
Navacat可以显示指定索引类型Btree /hash,最常用的INNODB和MYISAM都不支持hash类型的索引。memory引擎支持hash,但服务器关闭表中数据丢失。
使用情景:
4.存储过程:
存储过程之变量:
delimeter关键字作用:改变标准结束符分号为其他指定符号,因为存储过程中可能多个分号结束的语句,需要到指定的符号才结束。
demo:
5.触发器&事件:触发器trigger:完成某个SQL操作后紧跟着要执行的下一个SQL;事件:时间触发某个SQL操作