数据操作与事务控制#
数据操作语言
-Data Manipulation Language,简称DML,主要用来实现对数据库表中的数据进行操作。
-数据操作语言主要包括如下几种:
·增加:insert
·修改:update
·删除:delete
增删改相关
语法格式:增
INSERT INTO table[(column [, column...])]
VALUES (value [, value...]);
改
UPDATE table
SET column = value [, column = value]
[where condition];
删
DELETE FROM table
[WHERE condition];
事务相关
概念:事务:也称工作单元,是由一个或多个SQL语句所组成的操作序列,这些SQL语句作为一个完整的工作单元,要么全部执行成功,要么全部执行失败。在数据库中,通过事务来保证数据的一致性。
事务处理语言:TPL,主要用来对组成事物的DML语句的操作结果进行确认或取消。COMMIT/ROLLBACK。
特征:ACID
- 原子性(Atomicity):不可分割,全成功或者全失败。
- 一致性(Consistency):不管成功失败,整个系统处于数据一致的状态。
- 隔离性(Isolation):事务之间不会相互干扰。
- 持久性(Durability):一旦提交不可回滚。
语法示例:
BEGIN; //开始事务
[DELETE/UPDATE/INSERT]; //数据操作
ROLLBACK; //撤销数据操作
[DELETE/UPDATE/INSERT]; //数据操作
SAVAPOINT A; //设置保存点A
[DELETE/UPDATE/INSERT]; //数据操作
ROLLVACK TO A; //回滚到保存点A
COMMIT; //提交所有修改写入数据库
ROLLBACK; //提交后不可回滚
简单查询
查询涉及内容相对复杂,有时间在详细补充。
基础语法:
SELECT [DISTINCT] {*|column|expression [alias],...} [AS col_name]
FROM table
[WHERE];
常用函数
数学函数
字符串函数
时间函数
流程控制函数
常见如下:
CASE
IF
IFNULL
NULLIF
CASE基础语法:
CASE value
WHEN [compare-value/condition] THEN resaut [WHEN [compare-value/conditipn] THEN result ...]
[ELSE result] END;
IF基础语法:
IF(expr1,expr2,expr3) //三目运算符
IF(1>2,2,3);
IFNULL/NULLIF基础语法:
IFNULL(expr1, expr2)|NULLIF(expr1, expr2)
假设expr1不为NULL,则IFNULL()的返回值为expr1;否则其返回值为expr2;
其他函数
expr1不为NULL,则IFNULL()的返回值为expr1;否则其返回值为expr2;
其他函数
[外链图片转存中…(img-HuX9lk5K-1564204007798)]