总结
insert语句
主键冲突,加100,加1000都可以
update
没提条件全部更新,要加where来限制条件
先执行查询语句
update最消耗资源 先查询然后再修改,甚至涉及到全部修改
sql语句越简单越好,复杂会消耗资源
replace
delete
具有排他性
面试题:
truncate和delete的区别 前提 表很大
1.delete是一行一行删除的 truncate是整个删除表
2.delete会产生二进制日志 truncate不会产生二进制日志
事务
自动提交 把语句从内存转移到磁盘
ddl dcl 语句 mysql会自动更新
脏读 -----脏数据
只要没提交 都是在内存中
*
秒杀:每一个人的订单就是一个事务
事务的背后是并发空值----》锁
一个人远程连接到mysql里操作就会产生事务,多个事务多个进程,就会出现资源争夺
脏读 不可重复读 幻读 都是不允许的
丢失更新是允许的 按照顺序就会有时间差
永久性:指的是数据放入磁盘
global全局的
session当前的 ,临时变量
默认的是可重复读
游标:在mysql内部开辟的空间
事务用原生sql去执行
事务去控制并发
通过游标,执行原生sql。
flask 通过orm映射,一个类去改变一个表