使用二进制包安装MySQL

二进制包安装MySQL的步骤和源码编译安装的步骤差不多,只是少了编译的流程,直接解压就能使用,相对方便很多。 一、安装步骤 创建用户和安装依赖项: 下载安装包,解压,设置的安装目录为/usr/local/: 初始化数据库,设置数据库的数据目录为/data/mysqldb(默认为安装目录下的data目...
阅读全文

MySQL中的unique和primary key

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

SQL UNION和UNION ALL用法

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

MySQL 乐观锁

一、乐观锁说明 乐观锁的使用原理是在数据表中添加一个版本字段,每次先查询当前的版本,在更新数据的时候判断版本是否和查询到的版本一致,一致就说明数据没有被修改,可以操作数据并把版本号+1;如果版本号不一致就说明数据已经被更改了,不进行操作。 相对悲观锁来说,乐观锁用得更广泛一点,但乐观锁的缺点是操作失...
阅读全文
MySQL 悲观锁 MySQL

MySQL 悲观锁

一、什么是悲观锁 前文说明了MySQL事务在并发环境下会导致脏读和不可重复读等等的现象,数据库通过事务隔离级别也就是我们常说的锁来解决这个问题。悲观锁的工作原理是假设每次事务都会被其他事务打断,所以在每次操作数据时,都把数据设置成锁定状态,使得其他事务无法再操作。悲观锁能有效的防止数据并发带来的各种...
阅读全文
MySQL的事务隔离级别和锁机制 MySQL

MySQL的事务隔离级别和锁机制

一、事务并发带来的问题 1.1 第一类丢失更新 两个事务同时更新一行数据,第一个事务正常更新,第二个事务中途退出回滚数据到初始状态,导致第一个事务更新失效。 例如: 有一张表存放了用户的银行卡余额信息,其中小张余额为5000元。 同一时刻事务A和事务B都读取小张的余额为5000元,事务A给小张发了1...
阅读全文
MySQL 事务 MySQL

MySQL 事务

一、什么是事务 事务是一组SQL语句构成的语句集合,它保证所有的SQL都能全部执行或者全部不执行。 事务必须满足四个条件(ACID):Atomicity 原子性 Consistency 一致性 Isolation 隔离性 Durability 持久性 原子性:一组事务,要么成功,执行所有语句,要不失...
阅读全文
MySQL中CHAR(m)、VARCHAR(m)和INT(m)的区别 MySQL

MySQL中CHAR(m)、VARCHAR(m)和INT(m)的区别

一、区别 char(m):m表示长度,固定m宽度的字符,不足用空格补齐,取出数据时会删掉尾部的空格。 varchar(m):m表示长度,不固定,有多少字符就存多少字符,不会删除尾部的空格。 int(m):m表示显示的位数,不会决定int的范围大小,需配合zerofill 字段一起使用。 二、示例 创...
阅读全文

MYSQL中的分组GROUP BY的使用方法

一、概述     题外话:MYSQL 这个东西在工作前都用得少,因为在学校也没怎么学习过,就学了一点很浅的,了解有这个东西。然后后来自学才勉强算是把”增删改查“ 这四个基本操作学会,工作之后才发现远远不够,后面疯狂补才把一些稍微高级一点的东西学会。分组这个东西应该算是高级的东西了吧,用处也是十分广泛...
阅读全文
MYSQL时间戳TIMESTAMP的更新:CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP MySQL

MYSQL时间戳TIMESTAMP的更新:CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

一、概述 在工作中,经常需要用到更新时间戳的操作,比如在插入一行语句之后要把时间设置成插入时间,或者修改了一行数据也要把时间设置为更新的时间。如果每次都是手动去获取时间然后通过update 去更新字段,就很麻烦了。这时候可以利用mysql 提供的两个操作来完成:CURRENT_TIMESTAMP O...
阅读全文