概述
使用事务保证数据完整性
事务就是将一组SQL语句放在同一批次内执行
注意:若一个语句出现错误,则该批次内的所有语句都将执行取消
*MySQL事务处理只支持InnoDB和BDB数据类型
事务的ACID原则
原子性
一致性
隔离性
持久性
实现方法:
SET autocommit=0;#关闭自动提交模式
START TRANSACTION UPDATE account SET cash = cash +500 WHERE userName = 'D';#开始一个事务,标记事务的起始点
COMMIT;#提交一个事务给数据库
ROLLBACK;#将事务回滚,数据回到本次事物的最初状态
SET autocommit=1;#开启自动提交模式;还原自动提交模式
*使用SQL语句来改变自动提交模式
*MySQL中默认是自动提交
*使用事务是应先关闭自动提交
数据库三范式:
第一范式(1NF)无重复的列
第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ]
第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]
创建和索引使用
索引的作用:
1.提高查询速度
2.确保数据的唯一性
3.可以加速表与表之间的连接,实现表与表之间的参照完整性
4.使用分组和排序子句进行数据检索时,可以减少分组和排序时间
5.全文检索字段进行搜索优化
索引分类
1.主键索引(PRIMARY KEY):某一个属性能唯一标识一条记录
2.唯一索引(UNIQUE KEY):避免同一个表中数据的重复
*与主键索引的区别:主键索引只能有一个,唯一索引可以有多个
3.常规索引:快速定位特定数据库
*index和key都可以设置
*应加在查找条件的字段
*不宜添加太多常规索引,影响数据的插入,删除,和修改
4.全文索引:快速定位特定数据
*只能用于MyISAM类型的数据表
*只能用于CHAR,varchar,text 数据类型
*适用于大型数据
管理数据
1.创建索引(创建表的时候,建表后添加)
CREATE TABLE(//省略 索引名 ('字段名'))
ALTER TABLE 表名 ADD 索引名 ('字段名')
2.删除索引
*DROP 索引名 ON 表名
*ALTER TABLE 表名 DROP 索引名
*ALTER TABLE 表名 DROP PRIMARY KEY
3.查看索引:SHOW INDEX (或KEYS) FROM 表名
索引准则:
1.不要对经常变动的数据加索引
2.小数据量的表建议不要加索引
3.索引一般应加在查找的字段
最后
以上就是甜美皮卡丘为你收集整理的使用事务保证和数据完整性的全部内容,希望文章能够帮你解决使用事务保证和数据完整性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复