数据库基础语法(MySQL)

目录

一.views 视图

二.functions 函数

1.封装代码

2.变量

3.条件判断

a.类似if else的判断

b.类似case的判断

三.循环

1.while循环

四.存储过程

1.Stored Proceduress 存储过程

2.触发器

五.事物


一.views 视图

由一张或者多张表导出的虚拟表(简化代码)

//创建视图
create view myview as (选择的表);//myview 是自己起的别名

//查询 删除
select * from myview;
drop view myview;

二.functions 函数

1.封装代码

delimiter $ #结束符 特殊字符
create function myfun(a int,b int)
returns int
begin #局部变量
    declare c int default 0; #声明一个函数变量并赋值
    set c = a +b; #改值
    return c;
end $
delimiter ;

select myfun(4,5);

//删除函数
drop function myfun;

2.变量

#局部变量
begin 开始
end 结束

#会话变量 会话结束变量才消失 set @
set @a = myfun(4,5);

#系统变量 set @@

3.条件判断

a.类似if else的判断

declare c varchar(45)default'';
if a>0 then set c='向左走';
elseif a=0 then set c='原地踏步';
else set c='向左走';
end if;//判断语句结束标志

drop function if exists myfun;

b.类似case的判断

declare c varchar(45)default'';
case a
when 0  then set c='向左走';
when 1 then set c='原地踏步';
else set c='向左走';
end case;//判断语句结束标志

三.循环

1.while循环

declare i int default 1;
declare snum int default 0;
while i<=a
do 
     set snum=snum+i;
     set i=i+1;
end while;

四.存储过程

1.Stored Proceduress 存储过程

也是封装功能,相比函数不仅仅可以封装算法还可以封装select复杂语句;

delimiter $
create procedure myproc(in a int,out b int )//存储类型可以是输入in 也可以是输出out
begin
    select * from student limit a;
    set b=(select * from student limit a);
end $
delimiter ;

//使用
call myproc(3,@aa);
select @aa;

drop procedure myproc;

2.触发器

是一种特殊的存储过程,当指定的事件发生的时候,系统自动调用。

其中含有两种数据:old 原始数据  new 新数据

delimiter %
create trigger mydel
after delete on student //什么操作后执行  
for each row //作用范围
begin
   delete from sc where snum=old.snum;
end %
delimiter ;

delete from student where snum=1;

drop trigger mydel;

五.事物

一组数据要么都执行要么回滚

select * from bank;

start transaction;
update bank set money = money -100 where name='zs';
update bank set money = money +100 where name='li';

rollback;//回滚
commit;//保存数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值