mysql索引 事务 触发器 存储

事务

start transaction;#开始事务,执行完之后需要用commit来结束事务,把整个执行语句当做一个整体发出,一起修改.

update student set age = age-100 where id =5

COMMIT;

SELECT * from student;

begin;#每一句都自动执行commit 没个语句都自己修改不跟随整体
#当你启动begin的时候别的用户不能更改
update student set age =age +100 where id =2;

COMMIT;

设置变量

savepoint a;
#设置保存点,当执行语句修改的不是自己想要的发生错误删除恢复到现在节点
rollback to a;
#恢复到a节点
select @ab:=100;
SELECT @ab;
#设置变量

**存储**
#存储把这一组命里存储在一起调用执行
create procedure mypro1(in a int )
BEGIN
  declare result varchar(100);
	if a<0 then 
		set result = '输入的是小于零';
	else 
		set result = '输入的是大于零';
	end if;


	select result;
end;

#调用
call mypro1(2)

drop procedure mypro1;

**#触发器**
create trigger tri
before delete   执行的动作增删改
on student for each row 
#当发生删除的命令时自动触发 把删除的名字和年龄添加到student2的表中
begin 
insert into student2(name,age) values(old.name,old.age);
end;

DELETE FROM student where id in (4)

索引

使用索引:

explain select * from表明 where 条件

-- 1.添加PRIMARY KEY(主键索引) 
ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) ;
-- 2.添加UNIQUE(唯一索引) 
ALTER TABLE `table_name` ADD UNIQUE (`column`);
-- 3.添加INDEX(普通索引) 
ALTER TABLE `table_name` ADD INDEX index_name (`column`);
-- 4.添加FULLTEXT(全文索引) 
ALTER TABLE `table_name

` ADD FULLTEXT (`column`);
    -- 5.添加多列索引 
    ALTER TA

BLE `table_name` ADD INDEX index_name (`column1`, `column2`, `column3`);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值