case:值的替换

格式:
	case when 条件 then 为true的结果 [when 条件 then 为true的结果] [else 为false的结果] end

从其他表加载数据

格式1:
	create table 表名 as 查询语句;
格式2:
	insert into 表名 查询语句;
注意:字段属性和数据类型和其他表保持一致

视图:由查询结果得到的一张虚拟表(临时表,虚表),虚拟表和基本表有一对一和一对多的关系

创建:
	create view 视图名称 as 查询语句
一对一(数据和基本表一样):增删改查
一对一(数据由基本表聚合):查	
一对多(数据由基本表聚合):查
一对多(数据由连表联查):查改
注意:虚拟表不存储任何数据,数据存储在基本表中,基本表当中数据发生改变虚拟表中的数据也能发生改变
	创建视图,查询语句中不能出现子查询(不能作为一张表,可以作为结果进行筛选),把子查询作为视图之后再创建视图

查询视图结构:
	desc 视图名称;
	show create view/table 视图名称;

删除视图:
	drop view 视图名称;

执行顺序

from--where--group by--having--select--order by
from:需要从哪个数据表检索数据 
where:过滤表中数据的条件 
group by:如何将上面过滤出的数据分组 
having:对上面已经分组的数据进行过滤的条件  
select:查看结果集中的哪个列,或列的计算结果 
order by :按照什么样的顺序来查看返回的数据 

索引

添加:
	alter table 表名 add index 索引名称(字段);
删除:
	alter table 表名 drop index 索引名称;
注意:每个字段都可以添加索引
	主键默认含有索引
	不要每个字段都添加索引(索引也需要消耗资源),只需要给常用字段添加索引

事务:批处理,保证多个sql语句一起执行成功或一起执行失败(回滚撤销当前操作)

开始事务:
	begin;
回滚事务:
	rollback;
提交事务:
	commit;
结束事务:
	end;

    注意:没有commit或end之前,事务中的所有操作都是临时的(在缓存中的)
commit或end之后,把这些临时的(在缓存中的)数据提交到原始数据中进行修改
end默认执行commit;
posted on 2021-09-13 19:30  学海无涯,书山有路  阅读(24)  评论(0)    收藏  举报