sql语法

本文详细介绍了MySQL中触发器的创建(before和afterinsert/update/delete),修改默认语句结束符,以及事务的ACID特性,包括开启、回滚和提交。还讲解了存储过程的基本使用和while循环的流程控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

触发器总格式
create  trigger 触发器的名字 before/after insert/update/delete on  表名 
from each row 
begin 
	 sql 语句
end

具体使用 针对触发器的名字 我们通常见名知意

触发器针对增
create  trigger 触发器的名字 before/after insert/update/delete on  表名 
from each row 
begin 
	 sql 语句
end

#在插入之前
create  trigger tri_before_insert_t1 before insert on t1 
from each row 
begin 
	 sql 语句
end

#在插入之后
create  trigger tri_after_insert_t1 after insert on t1 
from each row 
begin 
	 sql 语句
end

ps: 修改mysql默认的语句结束符 只作用于当前窗口
 delimit && 将默认的结束符号;改称为&&
 
#触发器完整语法
delimiter $$
create  trigger tri_before_insert_t1 before insert on t1 
from each row 
begin 
	 sql 语句
end $$
delimiter 

#删除触发器
drop trigger  触发器名字;
事务 ACID  原子型 一致型  隔离性 持久性
事务:
如何使用事务
   1、开启事务
   start transaction;
   2、回滚(回到事务执行之前的状态)
   rollback;
   3、确认(确定之后无法回滚)
   commit;
   
 使用:
 start transaction;开启事务
 sql语句  跟上sql语句
存储过程
 存储过程
    基本使用
    create procedure 存储过程的名字()
    begin
    	 sql代码
    end
    #调用
    call 存储过程的名字();
   
   样例:
   delimiter $$
      create procedure p1(
        in  m int,#只进不出 m不能返回出去
        in  n int,
        out res int #该形参可以返回出去
      )
    begin
    	 select  tname from teacher where tid > m and tid < n;
    	 set res = 666;#将res变量修改 用来标识当前的村粗过程代码确实执行了
    end $$ 
    delimiter ;
   
   set @res = 10 定义变量
   
   select  @res; 查询变量
流程控制
      while 循环
   delimiter //
       create procedure 存储过程的名字()
    begin
    	 declare i  int default 0;
    	 if i = 1 then 
    	    select  1;
    	 elseif = 2 then 
    	    select  2;
    	 else 
    	    select  3;
    	 end if 
    end //
    delimiter ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值