9.储存过程
mysql在5.1之后增加了存储过程的功能, 存储过程运行在mysql内部,语句都已经编译好了,速度比sql更快. 存储过程与mysql相当于shell和linux系统。如果你是程序员的话,那我告诉你存储过程实际上是一个方法,你只要调用这个方法,并且输入它设置好的参数就可以获取或者执行你想要的操作了. 看了如下存储过程实例,你会发现mysql存储过程和shell很像.
下面存储过程内容为:调用存储过程,并且传入用户名,密码参数。存储过程会将这她们存储到user表里面.看实例
一,使用test数据库
user test;
二,创建表
CREATE TABLE user (
id int(6) unsigned zerofill NOT NULL AUTO_INCREMENT primary key ,
username varchar(20) NOT NULL,
password varchar(20) NOT NULL )
engine=innodb charset=utf8;
三、创建存储过程
DELIMITER $
create procedure mytest(in name varchar(20),in pwd varchar(20))
begin
insert into user(username,password) values(name,pwd);
end $
DELIMITER ;
四、测试存储过程
call mytest("what","www.jb51.net");
五、查看数据库中有无加入的数据
select * from user 如果有内容,说明执行成功了
六、删除存储过程
drop procdure 存储过程名
七,常用易错点
1、default 和 auto_increment 不能一起使用,一起使用就报错,auto_increment默认从1开始,
2、在创建存储过程中,一定要先写DELIMITER $ ,先定义最后结束符,并在最后改过来,DELIMITER ;
3、在创建存储过程时,一定要注意,那些过程是有符号的,那些是没有符号的。