当前位置:Gxlcms > 数据库问题 > mysql(视图 事务 索引 外键)

mysql(视图 事务 索引 外键)

时间:2021-07-01 10:21:17 帮助过:4人阅读

查看视图                select * from v_students;   删除视图 drop view v_students;      

事务

 

事务具有ACID特性:

原子性(A,atomicity)

一致性(C,consistency)

隔离性(I,isolation)

持久性(D,durabulity)

  原子性:事务内所有操作要么都执行,要么都不执行,它是一个不可分割的工作单位 例如: A给B转账,不会因为各种原因A账号已经发生扣款而B账户没有收到加款。     一致性:事务开始和结束前后,数据库的完整性没有被破坏   案例:    对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNT表中aaa和bbb的存款总额为2000元。   隔离性:事务之间不相互影响,多个事务并发访问时,事务之间是隔离的     事务查看数据更新时,数据所处状态要么是另一事务修改之前或者修改之后的状态,不会查看到中间状态的数据。事务1在修改表的时候提交之前事务2不能修改   持久性:事务完成一手,该事务所对数据库所做的更改会持久的存在数据库中   begin; 开启事务 update delete insert  更改删除添加数据 commit;提交事务    rollback; 回滚事务,放弃修改    

索引

当数据库中数据量很大时,查找数据会变得很慢, 优化方案:索引 索引缺点:不便于增删改   时间长占用内存大 show index from 表名;#查看表的索引   set profiling=1; #开启时间                       索引名字          表名字(字段) create index title_index on students(id);  #创建索引 desc students;#查看索引 show profiles; #查看时间 drop index 索引名称 on 表名;  #删除索引   建表时创建索引 create table create_index( id int primary key, name varchar(10) unique, age int, key (age) );  

外键

  • 如果一个实体的某个字段指向另一个实体的主键,就称为外键。被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(从表),也叫子实体(子表)
  • 对关系字段进行约束,当为从表中的关系字段填写值时,会到关联的主表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并报错
  • 添加外键
alter table students add constraint fk_students_gid foreign key (gid) references grade(gid) on delete cascade; alter table students drop foreign key 外键名字;  删除外键  

mysql(视图 事务 索引 外键)

标签:影响   cas   更改   状态   _id   student   uniq   set   sql   

人气教程排行