欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

索引 事务 触发器

程序员文章站 2022-06-03 23:32:17
...

事务

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`);