MySQL中的行锁、两阶段锁协议以及死锁 MySQL

MySQL中的行锁、两阶段锁协议以及死锁

一、行锁和两阶段锁协议 行锁:顾名思义,就是对某一行加锁,修改的时候不会锁住整个表。相对于表锁来说,行锁的开销更大(因为涉及到MVCC等需要保存快照),但是粒度更小,更适合于高并发场景。行锁是每个引擎...
阅读全文
MySQL两种引擎的区别 MySQL

MySQL两种引擎的区别

一、区别 区别一:MyISAM是非事务安全的,InnoDB是事务安全的 事务安全的特点为更安全,遇到问题会自动恢复或从备份加事务日志回复,如果更新失败,你的所有改变都变回原来。 非事务安全的优点为更快...
阅读全文
使用mysqldump备份数据库 MySQL

使用mysqldump备份数据库

一、备份数据库 mysql自带了数据库备份工具mysqldump可以很方便的对数据库进行备份: 以上命令就完成了一次数据备份,备份后的数据保存在文件db.sql,参数--all-databases是指...
阅读全文
给MySQL终端prompt设置颜色 MySQL

给MySQL终端prompt设置颜色

昨天给shell的prompt设置了终端颜色,今天突然奇想能不能给mysql的prompt也设置颜色,网上查了一下还真有,在.bashrc中添加以下设置即可开启颜色: 显示效果如下: 上面的代码中,\...
阅读全文
MySQL中的unique和primary key MySQL

MySQL中的unique和primary key

primary key用于标识主键,字段被设置为主键后该字段所有值不可重复且不能为null,每个表仅可有一个主键。unique设置字段不可重复,但不包括null值,每张表可以有多个unique字段,n...
阅读全文
SQL UNION和UNION ALL用法 MySQL

SQL UNION和UNION ALL用法

一、概述 union和union all都用于合并多个查询的结果,用法为: 两者的区别是union all中会有重复记录,而union中没有。 二、示例 创建两张表chinese和math分别表示语文...
阅读全文
MySQL 乐观锁 MySQL

MySQL 乐观锁

一、乐观锁说明 乐观锁的使用原理是在数据表中添加一个版本字段,每次先查询当前的版本,在更新数据的时候判断版本是否和查询到的版本一致,一致就说明数据没有被修改,可以操作数据并把版本号+1;如果版本号不一...
阅读全文