
MySQL
guugle2010
这个作者很懒,什么都没留下…
展开
-
MySQL触发器 trigger之for each row
MYSQL没有基于语句的触发器,只有基于记录的行级触发器,也就是每影响一条记录都要触发一次。原创 2014-10-24 10:20:50 · 10911 阅读 · 0 评论 -
MySQL触发器 trigger之after与before区分
after:是先完成数据的增删改,然后再触发,触发的语句晚于监视的增删改,无法影响前面的增删改动作;也就是说先插入订单记录,再更新商品数量。当商品数量少于订单数量时造成爆库。before:先完成触发,在进行增删改,触发语句先于监视的增删改,我们就有机会判断,修改即将发生的操作。案例操作:触发器使用after:当某个订单的数量超过库存的数量时会出现库存为负数。造成所谓的爆库问题。原创 2014-10-23 14:07:56 · 6856 阅读 · 0 评论 -
MySQL触发器 trigger学习
触发器:一类特殊的事物,可监视某种数据操作,并触发相关操作(insert/update/delete);表中的某些数据改变,希望同时可以引起其它相关数据改变的需求。作用:变化自动完成某些语句查询,添加程序的灵活性。创建触发器语法:#delimiter $$ //默认情况下,delimiter是分号“;”,sql语句带有;号结尾会报错,没到end就算到结束了,使用delimiter原创 2014-10-23 11:04:13 · 2293 阅读 · 0 评论 -
初识MySQL存储过程
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。过程:封装起来的若干条语句,调用时这些封装体执行。把此过程存储到数据库中即存储过程原创 2014-10-26 22:35:32 · 877 阅读 · 0 评论 -
MySQL 存储过程传参之in, out, inout 参数用法
存储过程传参:存储过程的括号里,可以声明参数。 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..)in :给参数传入值,定义的参数就得到了值out:模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程(在存储过程内部,该参数初始值为 null,无论调用者是否给存储过程参数设置值)inout:调用者还可以通过原创 2014-10-27 19:50:46 · 25700 阅读 · 3 评论 -
初识MySQL存储过程
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。过程:封装起来的若干条语句,调用时这些封装体执行。把此过程存储到数据库中即存储过程原创 2014-10-27 08:14:58 · 2964 阅读 · 1 评论 -
MySQL cursor游标 定义及使用
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。1条sql取出对应的N条资源,取出资源的接口/句柄,游标就是沿着游标可以一次去除一行。declare声明: declare 游标名 cursor for select_statement;使用游标: open打开 open 游标名原创 2014-10-31 23:10:28 · 2063 阅读 · 0 评论 -
MySQL的用户与权限管理
今天爬了一天山,还没整理好,明天发上原创 2014-11-01 22:26:34 · 618 阅读 · 0 评论 -
如何保护我的站点免受SQL入攻击——常见网站攻击手段原理与防御
由于SQL作为一种解析 型语言,在运行时是由一个运行时组件解析语言代码并执行其中包含的指令语言。基于这种执行方式产生了一系列叫做代码注入的漏洞。然而开发没有过滤敏感字符,绑定变量,导致攻击者可以利用SQL灵活多变的语法构造精心巧妙的语句,不着手段达成目的,或者通过系统报错返回对自己有用的信息。原创 2016-04-09 19:33:40 · 2070 阅读 · 1 评论