一、mysql表类型和存储引擎
1、基本介绍
①.MySQL的表类型由存储引擎(Storage Engines)决定,主要包括MylSAM、
innoDB、Memory等。
②. MySQL数据表主要支持六种类型,分别是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoBDB。
③.这六种又分为两类,一类是”事务安全型”(transaction-safe), 比如:
InnoDB;其余都属于第二类,称为”非事务安全型”(non-transaction-safe)[mysiam和memory].
2、主要的存储引擎/表类型特点
① MylSAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求
②. InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起
MylSAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
③.MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应
一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉,表的结构还在。
二、视图(view)
1、基本概念
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)
2、视图的基本使用
1、(创建视图) create view视图名as select语句
//创建一个视图emp_view01,只能查询emp表的(empno、ename,job和deptno)信息
create view emp_view01 AS select empno,ename,job,deptno from emp;
2、(修改视图)alter view视图名as select语句
alter view emp_view01 as select empno,id from emp;
3、(查看创建视图的指令)SHOW CREATE VIEW 视图名
show create view emp_view01
4、 (删除视图)drop view视图名1,视图名2
drop view emp_view01;
5、查看视图
//一
DESC emp_view01
//2
select * from emp_view01;
select empno,job from emp_view01;
3、视图的总结
1、视图是根据基表(可以是多个基表)来创建的视图是虚拟的表
2、视图也有列,数据来自基表
3、通过视图可以修改基表的数据
4、基表的改变,也会影响到视图的数据