MySQL事务

原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Consistency)  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假设…

MySQL变量与游标

储存过程简介 MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。 存储过程的优点 (1).增强S…

MySQL存储过程及存储函数

储存过程简介 MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。 存储过程的优点 (1).增强S…

MySQL视图

视图介绍 视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。 基表:用来创建视图的表叫做基表base table 视图优点: 1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。 …

MySQL流程控制

if语句 语法 IF CONDITION THEN … [ELSEIF CONDITION THEN] … [ELSE] … END IF 实践  CREATE PROCEDURE test_if(IN x INT)  BEGIN IF x>30 THEN SELECT 3; ELSEIF X>20 THEN SELECT 2; ELSEIF X&g…

MySQL对json的支持

Mysql自5.7以后,就支持json格式的数据。新增了很多的json相关的函数,json类型数据默认不允许为空。 新增json数据 首先,我们创建一个表,建表语句如下: CREATE TABLE json_tab( id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, json_data json ) 插入数据有两种方式,一种是直接插入json数据格式的…

MySQL查询操作

一般查询 语法:SELECT [DISTINCT] 字段1,字段2,…,字段n FROM 表明 WHERE 子句 GROUP BY 子句 HAVING子句 ORDER BY 子句 LIMIT 子句 检索不同的行 DISTINCT 默认会检索所有的行,加DISTINCT后可以过滤相同的行 限制结果LIMIT 完全限定表明 SELECT scores.score FROM scores; …

MySQL增删改

插入数据 插入数据方式有:插入完整的行、插入行的一部分、插入多行、插入某些查询结果 — 插入完整的行 mysql> INSERT INTO user VALUES     -> (1,'GWX','e10adc3949ba59abbe56e057f20f883e','3232@QQ.COM','1589854125…

MySQL常用函数

时间日期函数 函数名 描述 实例 ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期 SELECT ADDDATE("2017-06-15", 10); ->2017-06-25 ADDTIME(t,n) 时间 t 加上 n 秒的时间 SELECT ADDTIME(‘2011-11-11 11:11:11’, 5) ->2011-…

Mysql列类型

列类型 mysql列类型有:数值型、字符串型、日期时间型、空值 数值型 日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 字符串型 字符串类型指CHAR、VARCHAR、BINARY、VARBINAR…