ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DML 增删改 事务

2021-05-16 11:33:05  阅读:172  来源: 互联网

标签:insert 事务 into DML dept 表名 增删 eg


DML

DML之插入

  • 在表内插入:insert into 表名 value(数据1 , 数据2, …);

    • eg:insert into dept value(50, ‘sxt’, ‘shanghai’);

    • 要求插入数据的数量, 类型和定义表的结合一致

      • eg :

        insert into dept values(50. 'sxt', 'shnanghai', 'liyi');
        
        insert into dept values(50, 'sxt');
        
        insert into dept values('abcd', 50, 'sh');
        
  • 在表内特定的列插入(以行为单位):insert into 表名(列名) values(数据1, …);

    • eg:

      insert into emp(deptno, ename, deptno) values(6666, 'ly', 50);
      
    • 要求插入数据的数量顺序和表名后的列要一致

  • 从其他表中选定的列插入本表中特定的列(以为为单位):

    insert into 表名(列名) select …

    • eg:

      insert into dept(deptno, dname) select empno, ename from emp;
      
  • --创建一个dp表和dept表的列一样但是没有任何数据
    create table dp as select * from dept where 1<>1;
    

DML之删除

  • delete from 表名; 删除表。

    • eg:

      delete from dept;
      
  • delete from 表名 where 条件; 删除表中特定的数据。

    • eg :

      delete from emp where comm is null;
      
    • 这属于一种物理删除,删完之后理论上不能再找回。

  • truncate table emp;

    • 截断表,不要使用!!! 删除本表数据并重新建立新表,无法恢复。

DML之修改

  • update 表名 set 列名1 = value1, 列名2 = value2; 修改特定列的数据。

    • eg:

      update salgrade set losal = 888, hisal = 999;
      
  • **update 表名 set 列名1 = value1, 列名2 = value2 where 条件;**修改特定列中满足条件的数据。

    • eg:

      update salgrade set losal = 666, hisal = 1888 where grade = 3;
      

DML之事务

  • 数据库管理系统执行过程中的一个逻辑单位,有一个有限的数据库操作序列构成。

  • 事务指的是数据库一种保护数据的方式。

  • 事务一般由增删改操作自动调用,事务根据数据库不同提交的时机也是不同的

    • mysql数据库默认执行增删改就会提交事务。
    • 可以设置 手动提交 begin 或者 start transaction
  • 事物的特征

    • acid原则
    • 原子性
      • 事务是操作数据的最小单位。
    • 一致性
      • 事务提交之后,整个数据库看到的数据都是最新数据。
      • 所有人看到的数据都是一致性的。
    • 隔离性
      • 别人无法访问到我们未提交的数据,而且这个数据一旦被我修改,别人也无法进行操作。
    • 持久性
      • 事务一旦被提交,数据库就进入到一个全新的状态,数据再也不能返回到上一个状态。
  • 事务如何开启和提交?

    • 开启:

      • ①当执行增删改操作时默认开始一个事务②这个事务和当前操作的的窗口有关,别人是无法共享这个事物的。
    • 提交

      • 手动:

        ①:显示 commit; 提交

        ​ rollback; 回滚

        ②:隐式 执行DDL操作,默认提交当前的事务。

        ​ 用户退出,事务统一进行回滚(mysql);

      • 自动

        • mysql数据库执行DML操作之后会自动的提交事务
        • 好处:方便。
        • 坏处:①不能将多个SQL纳入到一个事务,不便于管理。②当我们大批量插入数据时,数据库频繁开启关闭事务,影响插入效率。
  • 事物的隔离等级

在这里插入图片描述

在这里插入图片描述

标签:insert,事务,into,DML,dept,表名,增删,eg
来源: https://blog.csdn.net/lllllljr/article/details/116885549

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有