系列文章目录
这里主要讲:视图、触发器、函数、存储过程、事务、游标、动态执行SQL、索引等相关内容。
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前文回顾
系列文章第一部分,需要掌握的内容:
1,如何安装数据库,登录数据库,创建删除用户,以及授权。
2,数据行(key,value)在数据表中(table),数据表在数据库(database)中,数据库又在更大的数据库中(databases).
3,创建子数据库,在数据库中创建数据表,对数据表里数据的增删改查等。
4,连表查询,基本条件筛选,分组统计等
5,创建table(类似sheet)时,对其参数的一些限定,如字符编码,engine,主键的确定,数据类型,自增等。
6,创建表与表之间的联系,方便数据的保存,关联,查询,运算。需要掌握外键,主键,索引等。
7,能完成课后15道习题。
一、视图
视图是将一个查询结果保存到一个变量中
--视图的创建:
create view viewsaple as select * from table1 where id>20;
--视图的修改:
alter view viewsample as select * from table2 where id<80;
--删除视图:
drop view viewsample;
--与临时表的区别,没有别名,每次使用需要写
(select * from table1 where id>20)
二、触发器
触发器用于,对表一做某一项操作后,会触发表二的某个动作,例如将表1的某个数据执行删除时会触发将这个数据写到表2中。
delimiter //
create trigger triggername_t1 before insert on tb1 for each row
begin
insert into tb2(tname) value(new.name);
insert into tb2(tname) value(new.name);
insert into tb2(tname) value(new.name);
end //
delimiter ;
--new 代指新数据(示例中mew.name相当于tb1.name)
--old 代指老数据
三、函数
内置函数与自定义函数,函数的语法,用法
--执行方法使用select
blog
id title ctime
1 abcd 2022-01-22 08:30:00
2 ccvc 2022-01-22 08:30:00
3 asdd 2022-05-22 08:30:00
4 aass 2022-01-22 08:30:00
select DATE_FORMAT(ctime,'%Y-%m'),count(1) from blog group by DATE_FORMAT(ctime,'%Y-%m')
2022-01 3
2022-05 1
自定义函数