缺点:安全性不高,数据易丢失,生命周期短,一般都是一次性。
开始存储过程之前还有一个工作要做,就是修改MySql的结束符,系统默认的是‘;’不过要建立存储过程,再用这个默认的分号就不方便了,把结束符改为‘//’,操作起来很简单,命令:DELIMITER // ,搞定;
好了,建立第一个存储过程: CREATE PROCEDURE p1 () SELECT * FROM t; // SQL语句存储过程的第一部分是 “CREATE PROCEDURE”:第二部分是过程名,上面新存储过程的名字是p1。这个很容易理解,就是一个简单的select语句; mysql> CALL p1() // +------+ | s1 | +------+ | 5 | +------+ 1 row in set (0.03 sec) Query OK, 0 rows affected (0.03 sec) 当调用这个存储过程的时候,会得到这个结果。 再练习一个打印‘Hello,Worle!’的存储过程: CREATE PROCEDURE HelloWorld() select 'Hello,World!' // 调用: mysql> CALL HelloWorld()// +-------------+ | Hello,World | +-------------+ | Hello,World | +-------------+ 1 row in set (0.00 sec) 好了,先写到这个,继续学习。 最后别忘了把分隔符变回来,命令 delimiter ;创建一个mysql函数命令如下:
create function 函数名(参数名 参数类型)returns 返回类型
begin
statement;
end;
示例如下:
create function gets(s int)returns int
begin
declare a int; //mysql中声明变量不需要@!!!跟其他数据库不太一样!!切记!!!
set @a=3; //每句之后需加一个;不然报错!!!
return @a+s; //要有返回语句!!!
end;
下面就可以直接调用了:gets(3);
=============================================================================
Mysql修改列类型语句如下:
alter table 表名 change 列名 列名 要修改的列类型;
Mysql修改列名语句如下:
alter table 表名 change 列名 要修改的列名 原来的类型;
Mysql添加一列:
alter table 表名 add column 要加的列名 要加的列名类型;
MYsql删除一列:
alter table 表名 drop column 要删除的列名;