接着上面的总结,这一篇主要是MySQL剩下的内容(我用的不多,记下来,防止自己忘记)
1.关于触发器
解释 类似于C++中的事件触发,在一个事件发生后会执行里面的代码 (before /after)
语法
单行
create trigger ___ after update on ___
for each row //对于每行监听
___(可执行代码 增删改查)
;
多行
delimiter $$ //改变结束字符
create trigger ___ after update on ___
for each row
begin
//执行语句
end
$$
delimiter ;
上面是主要语法,还有 old和new的使用 old. new. 分别是事件发生之前的表里的数据 和发生之后的表里的数据
2.关于建立视图
我的理解 视图就是一个虚拟的表(一般设置视图中的数据改变 是不会改变原表的,但是可以改变) 视图就是将能给出的数据给别人看 隐藏不能给出的
//视图可以和表一样正常操作
主要语法
create view ____
as
{一个SELECT 语句};
drop view ___;
视图会占用内存空间 不用的话要删除视图
3.关于事务处理
这是个高级的东西,作为新手的我,基本不怎么用,但是这的确是个NB的东西,但是函数用的非常简单
基本特征 1.原子性 2.一致性 3.隔离性 4. 持久性
事务就相当于给这一行的数据上个锁,此时只能一个人操作,而且未提交的时候其他的客户看表的数据不会发生变化,一旦出现错误会回到之前的状态。 (使用INNODB的事务处理机制)
语法
1.set autocommit = (1. 开启 0 .关闭)
2.停止自动提交 后面 提交 commit 否则 执行 回滚操作 rollback
3. 换种方式 start transaction 开启事务 (主要的还是在PHP中使用)
4.其他
建立变量
两种方式
1. select 1,2,3 into @a,@b,@c;
2. select ___ from ___ where into @tmp //注意 只能将一个数据放入 多的话 只会放入最后一行的数据
3.定义局部变量
语法
declare i int default 0; 类似 数据的定义 加上DECLARE 局部变量在使用的时候不要加@
建立函数
在数据库中建立函数,用的不多
语法
delimiter $$
create function sayhello() returns varchar(20)
begin
return "1111111111111";
end
$$
delimiter ;
举个都使用的例子
create function sum1() returns int
begin
set @i=1; //建立全局变量
set @sum=0;
while @i<=10 do //使用循环
set @sum=@sum+@i;
set @i=@i+1;
end while; //结束循环 这里 多层循环使用时必须给每个循环 定义一个名字 然后 结束
returm @sum;
end
当然这上面仅仅是在MySQL中的一些简单用法的总结,后面是PHP中的使用 。