数据库的基本语法(二)

if else 语句

delimiter /
create function myfuntest(a int)
returns varchar(46)
begin
       declare c varchar(45) default '';
       if(a>0)
       then set c = '大于0';
       elseif(a=0)
       then set c = '等于0';
       else
       set c = '小于0';
       end if;
       return c;
end /
delimiter ;

存储过程(无返回值通过参数返回)

delimiter /
create procedure mypro (a int)
begin
      select * from student limit a;
end /
delimiter ;

call mypro(4);

drop procedure mypro;

触发器:一种特殊的存储过程,当指定时间发生时,系统自行调用。

触发器的两张表(new,old)

加强版平衡树:B+Tree

                        链式存储,方便读取范围内的数据。

聚簇索引(InnoDB):索引与内容是分开的。

非聚簇索引(MyTSAM):主键+辅助在一块

InnoDB有行锁,MyTSAM只有表锁。

事务的创建:create transaction;

                      commit;

create table bank
(
     money double,
     name varchar(45)
);

insert into bank values(100,'xiaozhang1');
insert into bank values(0,'xiaozhang2');

select * from bank;
start transaction;
update bank set money = money - 100 where name = 'xiaozhang1';
update bank set money = money - 100 where name = 'xiaozhang2';

commit;

rollback;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值