视图
增
create view class_view as select * from class;
删
drop view class_view;
改
alter view class_view as select * from class where id>3;
查
select * from class_view
- 单表的视图数据可以修改,多表联查的视图数据可以修改其中一个表的数据。
不能同时改两张表数据!!! - 修改视图表结构是不被允许的,因为表结构在第一次创建时已经确定,并且存在于硬盘。
触发器
创建触发器
delimiter //
create trigger tri_after_insert_cmd after insert on cmd for each row
begin
if new.success=’no’ then
insert into errlog(err_cmd,err_time) values(new.cmd,new.sub_time)
end if;
end//
delimiter ;
new:代表新插入的一条记录,old:代表已经存在的记录
删除触发器
drop trigger tri_after_insert_cmd;
没有查,被动触发
事务
原子性操作
所有的SQL语句执行为一个整体,要么都成功,要么都失败。
start transaction:
select * from class;
insertt into teacher(name) values(‘Tiger’)
rollback;
存储过程
delimiter //
create procedure proc()
begin
select * from class;
insert into teacher(name) values(‘Bob’);
end//
dlimiter ;
在mysql中调用
call proc();
在pymysql中调用
cursor.callproc(‘proc’)
print(cursor.fetchall())
删除procedure
函数
date_format
How to use it?博客分类!