MySQL的存储引擎
mysql AB公司时期,MySQL默认使用的存储引擎是Myisam,5.0之后默认使用的引擎是innodb
区别:
1、myisam这个引擎不支持事务,而innoDB支持事务
2、myisam这个引擎不支持外键,而innoDB支持外键
3、锁的机制是不同的:myisam默认使用表锁,innoDB默认是用行锁
myisam并发性低,innoDB并发高。
批量操作上myisam速度快,innoDB慢
数据库事务
主要的一个数据库对象
做一件事件过程中,可能会涉及到多条SQL(更新),一旦中间某条SQL出错。会导致数据库出现脏数据
begin # 开启事务
commit # 提交事务
rollback # 回滚事务
数据库的视图:view
视图是一张虚拟表,是存储在数据字典中的
是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。
– 创建视图
CREATE VIEW allUser as select s.name, age, gender, c.name as cname from student s, classroom c where s.cls_id=c.id;
– 删除视图
DROP view allUser;
查询视图
SELECT * from allUser;
视图的作用:
注意!!!!视图并不能加快查询速度!!
1、安全性考虑,只展示需要展示字段给开发者
2、简化了操作,把经常使用的数据定义为视图。
#创建视图
CREATE VIEW newbiao as SELECT id ,name FROM student;
SELECT * FROM newbiao;