(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'; -- 采用了默认子
相关文档:
今天遇到数据库的一个问题,就是每当从主表中删除一个主键id时,由于与他相关联的表中有相关的字段数据,所以无法删除。查了一大堆资料,发现我建表关联用的是on Restrict.可能问题就出在这里吧。
外键约束对子表的含义:
如果在父表中找不到候选键,则不允许在子表上进行insert/update
外键约束 ......
最近用mysql写了几个复杂的语句,感觉在关系很复杂的时候先理清关系再选择用的查询方法是很重要的,因为同一个需求可能用不同的方法来查出来,但是复杂度,性能都不一样。
下面说一下能实现复杂查询的一些一般方法:
一.with语法(首先说明,好像Mysql不支持这个语 ......
MySQL重新安装的时候出现了问题:Could not start the service MySQL. Error:0,原因是没有对旧的MySQL完全卸载掉。
在你从电脑里卸载旧的MYSQL数据库服务时,首先先在WINDOWS服务里停掉MYSQL的服务。再到控制面板里的增加删除程序内进行删除,然后手动删除原安装文件,但是你并不能完整的把MYSQL服务删 ......
php+mysql扎实个人基本功
一. 10句话
1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.
2.写程序前看看怎么用error_reporting.
3.不懂就问本身没错,但你需要在那之前查查手册。
4.当然,你需要懂得使用手 ......
文件php.ini放入windows下,将下面内容拷贝到记事本命名为php.ini放入c:/windows下,重启Apache server:
[PHP]
;;;;;;;;;;;
; WARNING ;
;;;;;;;;;;;
; This is the default settings file for new PHP installations.
; By default, PHP installs itself with a configuration suitable for
; development purposes ......