MySQL 数据库语法快速学习6

83 阅读2分钟

大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习MySQL,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力

事物

  1. 事物简介

    • 数据库的事物是一种机制、一个操作序列,包含了一组数据库操作命令

    • 事物把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据命令要么同时成功,要么同时失败。

    • 事物是一个不可分割的工作逻辑单位

    • 语法

      --开启事物
      START TRANSACTION;
      或者BEGIN
      --提交事物
      COMMIT;
      --回滚事物
      ROLLBACK;
      
  2. 事务操作

    案例:

    --创建表
    CREATE TABLE account(
    	id int PRIMARY KEY auto increment,
    	name varchar(10),
    	money double(10,2)
    	);
    --添加数据
    INSERT INFO account(name,money) values('张三',1000),('李四',1000);
    
    select *from account;
    
    --转账操作
    --开启事物  下面需要commit提交
    BEGIN;
    --1。查询李四金额
    --2.李四金额-500
    updaate account set money=money-500 where name='李四'
    --出错了
    --3.张三金额+500
    updaate account set money=money+500 where name='张三'
    --提交事物
    commit;
    --回滚事物
    ROLLBACK;
    
  3. 事物四大特征

    • 原子性:事物是不可分割的最小操作单位,要么同时成功,要么同时失败

    • 一致性:事物完成时,必须使所有数据保持一致状态。

    • 隔离性:多个事物之间,操作的可见性

    • 持久性:事物一旦提交或回滚,它对数据库中的数据的改变是永久的。

      MySQL 事物默认自动提交

      --查看事物默认提交方式
      SELECT @@autocommit;
      --1自动提交 0手动提交
      --修改事物提交方式
      set @@autocommit =0;
      
      --查看事物默认提交方式
      SELECT @@autocommit;
      --修改事物提交方式为手动
      set @@autocommit =0;
      
      select * from account;
      --李四金额-500
      update account set money=money-500 where name='李四';
      --当前查询为0,别人查询为500,说明临时提交的,只有自己看的到
      --commit 才能生效
      commit;
      ---oecle要commit,MySQL没问题的
      

原创-程序员_蓝天