MySQL入门(10)——基于datagrip的事务及索引

目录

  • 一、事务
    • 自动提交事务功能的开启与关闭
    • 事务的特性(ACID)
      • 1、事务回滚
      • 2、事务提交
      • 3、隐式提交
    • 保存点
  • 二、索引
    • 1、索引分类
      • (1)普通索引和唯一索引
      • (2)单列索引和组合索引
    • 2、创建索引
      • (1)创建表时创建
      • (2)单独创建索引
      • (3)修改表结构创建
    • 3、删除索引

一、事务

事务: 指的是逻辑上的⼀组操作,组成这组操作的各个单元要么全都成功,要么全都失败

事务作⽤:保证在⼀个事务中多次SQL操作要么全都成功,要么全都失败.

比如:银行转账,小明有50元,小红有10元,小明向小红转账10元,在数据库操作中相当于执行了两条SQL语句。如果不同时成功或失败,那么转账系统将会出问题

 UPDATE account SET money=money-10 WHERE id=1;-- 小明账户减10元
 UPDATE account SET money=money+10 WHERE id=2;-- 小红账户加10元

想让这两个操作要么全成功,要么全失败。如何保证呢?就需要把他们放到同一个事务里面进行操作。

在datagrip上执行:

 # 创建账号表
 create table account(
  id int primary key auto_increment  COMMENT '主键',
  name varchar(20) COMMENT '姓名',
  money double COMMENT '余额'
 );
 # 初始化数据
 insert into account values (1,'小明',50);
 insert into account values (2,

你可能感兴趣的:(数据库,数据库,mysql,SQL,datagrip,linux)