mysql的视图,事务,索引,外键
视图
创建视图,将两个表合成一个表,方便以后查询,并且可以更改。
表1: students 有id,name,age字段
表2: classes 有id,name,sex字段
那么如果这是想同时查看这两张表:用以前学过的关联查询的命令:
select * from students inner join classes on students.id=classes.id;
现在创建视图,在上一条命令前加:
create view v_students as select * from students inner join classes on students.id=classes.id; ![](data:image/png;base64,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)
生成的视图就像一张表一样
查看视图:show tables;
select * fom 视图表名;
删除视图:drop view 视图表名;
事务
事务广泛的运用于订单系统、银行系统等多种场景
所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行。所以,应该把他们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性
事务具有ACID特性:原子性(A,atomicity)、一致性(C,consistency)、隔离性(I,isolation)、持久性(D,durabulity)。
- 原子性:事务内的所有操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
- 一致性:事务开始和结束前后,数据都满足数据一致性约束,就是说结束后该是什么样就时什么样,而不是经过事务控制之后数据变得不满足条件或业务规则。
- 隔离性:比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,事务之间不能互影响,它们必须完全的各行其道,互不可见。
- 持久性:事务完成后,该事务内涉及的数据必须持久性的写入磁盘保证其持久性。当然,这是从事务的角度来考虑的的持久性,从操作系统故障或硬件故障来说,这是不一定的。
事务命令
- 要求:表的引擎类型必须是innodb类型才可以使用事务,这是mysql表的默认引擎
- 查看表的创建语句,可以看到engine=innodb
show create table students;
- 修改数据的命令会触发事务,包括insert、update、delete
- 开启事务,命令如下:begin;
- 开启事务后执行修改命令,变更会维护到本地缓存中,而不维护到物理表中
- 提交事务,命令如下:commit;
- 将缓存中的数据变更维护到物理表中
- 回滚事务,命令如下:rollback;
- 放弃缓存中变更的数据,回退
索引
数据库中数据量很大的时候,查找就会变得很慢,
对于使用数据库查找大于增删改时,
优化方案:索引
缺点:添加的索引越多,增删改的性能越差。
- 查看索引
show index from 表名;
- 创建索引
方式一:建表时创建索引
create table create_index( id int primary key, name varchar(10) unique, age int, key (age) );
方式二:对于已经存在的表,添加索引
如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致 字段类型如果不是字符串,可以不填写长度部分 create index 索引名称 on 表名(字段名称(长度))
例: create index age_index on create_index(age);
删除索引:
drop index 索引名称 on 表名;
设置时间:
set profiling=1;
索引时间查看:
show profiles;
外键foreign key
- 如果一个实体的某个字段指向另一个实体的主键,就称为外键。被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(从表),也叫子实体(子表)
- 对关系字段进行约束,当为从表中的关系字段填写值时,会到关联的主表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并报错
语法
查看外键
show create table 表名;
添加外键
要设为外键的字段必须和对应的表一一对应。
alter table students add constraint fk_students_gid foreign key (gid) references grade(gid) on delete cascade;
例:
alter table students add constraint f foreign key (cls_id) references classes(id);
删除外键
show create table 表名
alter table students drop foreign key 外键名字;