MySql问答
1、drop, delete truncate的区别?
三者都是删除的意思,但是三者个有些区别:
· delete和truncate只删除表的数据不删除表的结构;
· drop删除整张表;
· 想删除部分数据时, delete 删除时要带上where语句;
· 保留表结构而想删除所有的数据时用truncate;
2、事务的作用
事务(Transaction)是并发控制的基本单位。事务就是一系列的操作,这些操作要么都执行,要么都不执行。
事务具有以下4个基本特征:
· Atomic(原子性) 事务中的一系列的操作要么都完成,要么全部失败
· Consistency(一致性) 一个成功的事务应该讲数据写入的到数据库,否则就要回滚到最初的状态
· Isolation(隔离性) 并发访问和修改的duli
· Durability(持久性) 事务结束应该讲事务的处理结构存储起来
事务的语句:
· 开始事物:BEGIN TRANSACTION
· 提交事物:COMMIT TRANSACTION
· 回滚事务:ROLLBACK TRANSACTION
3、数据库中的乐观锁(共享锁)和悲观锁(排它锁)
根据不同类型可以对数据设置不同的锁权限;
** 乐观|悲观 锁 主要是作用在并发访问控制**
· 悲观锁 假定会发生并发冲突,屏蔽任何违反数据完整的操作
· 乐观锁 假定不会发生冲突,只有在提交操作时检查是否违反数据的完整性
4、视图的作用,视图可以更改么?
视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的sql操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们来修改数据。