mysql左右连接的笔试题_Mysql笔试题

1.truncate、delete、drop的区别

用法:truncate 表名;delete from 表名 where...;drop table 表名;

区别:

truncate、drop是不可以rollback的,但是delete是可以rollback的;原因是:delete删除是一行一行的删除,会触发触发器,删除可以返回行数,每删除一行会进行一次日志记录,所以可回滚;而truncate删除是删除表的所有数据,通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放,所以不能回滚,可以重置自增字段的计数器;Drop语句将删除表的结构、被依赖的约束(constrain)、触发器 (trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。

注意:drop、truncate不能删除有外键约束的表。

2.数据库三范式

第一范式(1NF):是指数据库表的每一列都是不可分割,即列不可分。

第二范式(2NF):非主属性必须完全依赖主键,不能部分依赖主键,即不能部分依赖。

第三范式(3NF):属性不依赖于其它非主属性,即不能传递依赖。

3.数据库事务四大特性ACID

原子性:一个事务是一个不可分割的最小工作单元,其操作要么全部成功,要么全部失败。

一致性:数据库总是从一个一致性状态转换为另一个一致性状态。所谓一致性状态,就是数据库的所有完整性约束(尤其注意用户定义约束)都被遵守,以银行转账为例,“转账操作必然导致一个账户减少金额,另一个账户增加金额,且这两个账户总金额之和不变”就是一个完整性约束。

持久性:一旦事务提交,则其所作的修改就会永久保存到数据库中。

隔离性:隔离性用于定义事务之间的相互隔离程度,存在四个隔离级别。

0ba4ac5d3f90183e599cd06570944767.png

首先需要解释一下几个跟隔离性相关的概念定义:

(1)脏读:指事务读到脏数据,所谓脏数据,指的是不正确的数据,例如事务执行过程中修改了某记录,然后回滚,如果其他事务读到了该记录的中间修改值,则为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值