摘要: 简单的存储过程循环,记得开事务,如果逐提交数据 将会导致速度很慢。 END 2018-05-29 00:38:23 阅读全文
posted @ 2018-05-29 00:39 Hider1214 阅读(930) 评论(0) 推荐(0)
摘要: 在以下例子中,出现definer于sql security invoker,导致不解,遂学习一翻。 procedure于function、trigger等在创建的时候,紧接着create都有个definer可选项,该definer规定了访问该procedure等的安全控制。 一、DEFINER 例如 阅读全文
posted @ 2018-05-29 00:35 Hider1214 阅读(1131) 评论(0) 推荐(0)
摘要: 在MySQL中,接触事务的例子比较少,今晚在一个简单的存储过程中,循环插入50000条id数据的时候,得知必须开事务,如果逐提交数据,将会导致速度异常的慢。 SET autocommit = 0; 指事务非自动提交,执行以后,每个SQL语句或语句块所在的事务都需要显示“commit”才能提交事务; 阅读全文
posted @ 2018-05-29 00:27 Hider1214 阅读(1199) 评论(0) 推荐(0)
摘要: 由于MySQ没有提供像Oracle的dense_rank()或者row_number() over(partition by)等函数,来实现组内排序,想实现这个功能,还是得自己想想办法,最终通过创建行号实现。 方法一: 1.建立测试表 2.删除原有数据 3.插入数据 4.查询 5.构造行号rownu 阅读全文
posted @ 2018-05-25 10:55 Hider1214 阅读(6582) 评论(2) 推荐(1)
摘要: date_add函数 作用:date_add()函数向日期添加指定的时间间隔 语法: date:日期表达式 type:时间间隔,day、week、month等 END 2018-05-23 18:13:34 阅读全文
posted @ 2018-05-23 18:14 Hider1214 阅读(262) 评论(0) 推荐(0)
摘要: 在MySQL中,通过利用upper、lower、ucase、lacase几个函数对字符串进行大小写转换。 upper(str)——根据当前字符集映射返回字符串str,并将所有字符更改为大写。默认值是latin1(西欧cp1252)。 lower(str)——根据当前字符集映射返回字符串str,并将所 阅读全文
posted @ 2018-05-22 16:24 Hider1214 阅读(1922) 评论(0) 推荐(0)
摘要: 一、repeat循环 注意使用repeat的时候,在判断条件(until条件)的那一行句末不加分号,这个很容易出错! 二、loop循环 注意 loop 一般要和一个标签(此处为label,名称可以自定义,不过要保证前后一致)一起使用,且在 loop 循环中一定要有一个判断条件,能够满足在一定的条件下 阅读全文
posted @ 2018-05-22 13:16 Hider1214 阅读(2907) 评论(0) 推荐(0)
摘要: 思考:while循环是否只能使用在存储过程或者存储函数之中,不能直接在查询语句中使用? ———— 循环一般在存储过程和存储函数中使用。 直接放几个例子: 例一: 1.创建存储过程 2.调用存储过程 3.删除存储过程 例二: 1.创建函数 注意:创建函数之前必须更改系统设置 否则无法创建函数 2.调用 阅读全文
posted @ 2018-05-22 13:12 Hider1214 阅读(43743) 评论(0) 推荐(1)
摘要: 问题 MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its decla 阅读全文
posted @ 2018-05-22 13:00 Hider1214 阅读(902) 评论(0) 推荐(0)
摘要: 删除存储过程、存储函数主要使用drop语句: drop procedure —— 删除存储过程 drop function —— 删除存储函数 语法: 例子: 注意:如果存储过程或存储函数不存在时,仍然进行删除,可以使用IF EXISTS子句,它可以防止发生错误,产生一个用SHOW WARNINGS 阅读全文
posted @ 2018-05-22 12:52 Hider1214 阅读(21970) 评论(0) 推荐(0)