使用事务保证和数据完整性

使用事务保证数据完整性
事务就是将一组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.索引一般应加在查找的字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值