易截截图软件、单文件、免安装、纯绿色、仅160KB

(mysql)存储过程

(1)
存储过程是数据库服务器端的一段程序.
mysql的存储过程,只有版本是mysql5.0或以上的才有此特性.
(2)
什么时候需要用存储过程
存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以
改善应用程序的性能。这是因为:
2.1.
服务器往往具有强大的计算能力和速度。
2.2
避免把大量的数据下载到客户端,减少网络上的传输量。
2.3
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所
以使用存储过程可提高数据库执行速度。
2.4
存储过程可以重复使用,可减少数据库开发人员的工作量
2.5
安全性高,可设定只有某此用户才具有对指定存储过程的使用权
(3)
3.1
使用存储过程之前,须换一种分隔符.因为在存储过程中,存在多个SQL语句,所有须用另一个分隔符来表示结束符号.
分隔符:         --->只对当前连接有效.下次连接时,仍以";"为分隔符.
DELIMITER //
用回原来的";",可以用: delimiter ;
3.2
第二部分是过程名,合法标识符的问题:
存储过程名对大小写不敏感,因此‘P1’和‘p1’是同一个名字,在同一个数据库中你将能给两个存储过程取相同的
名字,因为这样将会导致重载。某些DBMS允许重载(Oracle支持),但是MySQL不支持。
你可以采取“数据库名.存储过程名”这样的折中方法,如“db5.p1”。
(4)
4.1
创建存储过程时,先用选择相应的数据库。因为创建的存储过程是属于某一数据库的。
4.2
调用存储过程:
基本语法:call sp_name()
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
如下:
call p1 () //
4.3
删除存储过程
1.基本语法:
drop procedure sp_name//
注意事项:
不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
4.4
存储过程的查看:
1)
显示当前数据库存储过程:
show procedure status//
会显示数据库中所有的存储过程的所属数据库,存储过程名,类型(type),定义者(如:root@localhost),创建时间,修改
时间等.
2)
show create procedure sp_name
显示某一个存储过程的详细信息
3)
也可用:
select body from mysql.proc where name="过程名";
(5)
作用域:
CREATE PROCEDURE p11 ()
BEGIN
DECLARE x1 CHAR(5) DEFAULT 'outer';  -- 采用了默认子


相关文档:

mysql级联删除 Mysql 的 Cascade Restrict

今天遇到数据库的一个问题,就是每当从主表中删除一个主键id时,由于与他相关联的表中有相关的字段数据,所以无法删除。查了一大堆资料,发现我建表关联用的是on Restrict.可能问题就出在这里吧。 
外键约束对子表的含义: 
  如果在父表中找不到候选键,则不允许在子表上进行insert/update 
外键约束 ......

mysql errno: 150 错误 外键

ERROR 1005 (HY000): Can't create table '  ****.frm' (errno: 150)
我是从以下几个方面解决了此问题:
1、确保参照的表和字段是存在的;
2、组成外键的字段要求被索引(主要是外键那个字段要求在其他表中是主键);
3、外键关联的两表或多表要求都是INNODB类型的表;
4、字段类型(说明)要一样`itemId` varchar( ......

mysql+php


php+mysql扎实个人基本功
一. 10句话
1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.
2.写程序前看看怎么用error_reporting.
3.不懂就问本身没错,但你需要在那之前查查手册。
4.当然,你需要懂得使用手 ......

MySQL中UNION

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
MySQL中的UNION
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如 ......

(mysql)Foreign key的使用

(1)
外键的使用:
外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性.
如:
有表A,表B中一字段是表A某一字段的外键.当删除表A记录时,表B相应记录会作相应处理(删除/或设置外键列为NULL).但若删除表B记录,表A的记录,则不会受影响!
 
一个就是能够增加ER图的可读性
  &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号