1.概念(C)

数据操纵语言 DML (Data Manipulation Langua)是SQL语言的一个分类,用于对表的内容或者说数据进行增、删、改、查等操作。

通过以下几个关键字实现:

SELECT(查询) 、INSERT(插入)、 UPDATE(更新修改)、 DELETE(删除)

2.insert(插入):(A)

2.1 作用:

往表中插入数据。

2.2 方式:

1.元祖值式插入(一次插入一行)
语法:insert into 表(列1,列2...列n) values(值1,值2...值n);
例:

--一次插入一条记录
insert into emp (empno,ename,sal,deptno) values(9527,'华安',500,40); --需要往表中所有列都插入数据时,表后面的列可以不写
insert into emp values(9528,'秋香',null,9527,sysdate,100,null,40);

2.查询结果式(将子查询的结果插入到表中)
语法:insert into 表名 (子查询)

例:

--首先创建一个emp的临时复制表用于实验操作
create table emp_temp as select *from emp where 1 =2;
--将子查询的结果插入到表中
insert into emp_temp (select * from emp);

3.delete(删除):(A)

3.1 作用 :

删除表中的数据。

3.2 语法:

delete from 表名 where 过滤条件(删除满足条件的)
例:

--from 可以省略不写
delete emp_temp where empno=9528;
--没有 where 过滤条件就会删除所有数据
delete emp_temp;

4.update(更新):(A)

4.1 作用:

修改表中的数据。

4.2 语法:

update 表名 set 列1=值1,列2=值2,...,列N=值N where 过滤条件(判断修改哪一条记录)

例:

--给编号为9527的涨工资20%,这里没有过滤条件的话就变成给所有人涨20%
updata emp_temp set sal=sal*1.2 where empno=9527;

5.事务(B)

5.1 概念:

事务(Transaction)是一个操作序列。这些操作要么都做,
要么都不做,是一个不可分割的工作单位,是数据库环境中的
逻辑工作单位。

5.2 作用:

事务是为了保证数据库的完整性。例如:
A给B转账,需要先减掉A的账户余额再加到B的账户上,这两个操作是一个整体,
不可能扣掉A的钱不给B加上,或者只给B加没有扣掉A的钱。
也就是,一个事务每项任务都必须正确执行。如果有任一任务执行失败,则整个事务就会被终止。此前对数据所作的任何修改都将被撤销

5.3 事务的开始与结束:

在oracle中,没有事务开始的语句。
一个事务起始于一条DML(Insert、Update和Delete )语句。
结束于以下的几种情况:
–用户显式执行Commit语句提交操作或Rollback语句回退。
–当执行DDL(Create、Alter、Drop)语句事务自动提交。
–用户正常断开连接时,事务自动提交。
–系统崩溃或断电时事务自动回退。

5.4Commit(提交)和Rollback(回退):
Commit :事务成功结束,提交数据到数据库,更新数据库内容
Rollback:事务不成功结束,事务中的操作被撤销,回到事务开始前的状态

5.5 事务四大特征(ACID):(C)

1. 原子性(Atomicity) 一个原子事务要么完整执行,要么干脆不执行。
也就是,一个事务每项任务都必须正确执行。如果有任一任务执行失败,则整个事务就会被终止。此前对数据所作的任何修改都将被撤销
2. 一致性(Consistency) 一致性代表了底层数据存储的完整性。就像上面第2点举的例子,A钱减了B钱才能加,两边的数据保持一致
3. 隔离性(Isolation),在事务或工作单元执行完毕之前,其所访问的数据不能受系统其他部分的影响。(类似于线程安全)
4. 持久性(Durability) 持久性表示在某个事务的执行过程中,对数据所作的所有改动都必须在事务成功结束前保存至某种物理存储设备。这样可以保证,所作的修改在任何系统瘫痪时不至于丢失。

DML(数据操纵语言)的更多相关文章

  1. DML 数据操纵语言

    1.INSERT(插入)语言结构 INSERT INTO table(表名)(要插入的列名) VALUES(要插入的具体值): table:要插入数据的表的表名 column[,column]:表中要 ...

  2. Hive 官方手册翻译 -- Hive DML(数据操纵语言)

    由 Confluence Administrator创建, 最终由 Lars Francke修改于 八月 15, 2018 原文链接 https://cwiki.apache.org/confluen ...

  3. DML数据操纵语言

    --创建表T_HQ_BM2 --create table t_hq_bm2 as select * from t_hq_bm; commit; --添加行内容 --insert into t_hq_b ...

  4. (让你提前知道软件开发33):数据操纵语言(DML)

    文章2部分 数据库SQL语言 数据操纵语言(DML) 数据操纵语言(Data Manipulation Language,DML)包含insert.delete和update语句,用于增.删.改数据. ...

  5. MySQL之数据操纵语言(DML)

    数据操纵语言(DML) 数据操纵语(Data Manipulation Language),简称DML. DML主要有四个常用功能. 增 删 改 查 insert delete update sele ...

  6. 数据库原理及应用-SQL数据操纵语言(Data Manipulation Language)和嵌入式SQL&存储过程

    2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射 ...

  7. oracle数据操纵语言(DML)data manipulation language

    数据库操纵语言(DML)用于查询和操纵模式对象中的数据,它不隐式地提交当前事务. SELECTINSERTUPDATEDELETECALLEXPLAIN PLANLOCK TABLEMERGE使用算术 ...

  8. 30442数据操纵语言DML

    5.5 SQL的数据操纵功能 5.5.1 数据插入 使用CREATE语句创建的数据表还只是一个“空壳”,表中没有任何数据.利用SQL语言提供的INSERT语句可以完成向数据表插入数据的任务. INSE ...

  9. DML语言(数据操纵语言)

    #DML语言/*数据操作语言:插入:insert修改:update删除:delete */ #一.插入语句#方式一:经典的插入/*语法:insert into 表名(列名,...) values(值1 ...

随机推荐

  1. Scrapy爬虫框架第一讲(Linux环境)

    1.What is Scrapy? 答:Scrapy是一个使用python语言(基于Twistec框架)编写的开源网络爬虫框架,其结构清晰.模块之间的耦合程度低,具有较强的扩张性,能满足各种需求.(前 ...

  2. Spring使用 --- 基本概念(二):AOP,面向方面编程

    Table of Contents 什么是面向方面编程 怎样使用 什么时候使用 好处 本文讲述sprint的第二个基本概念: AOP,即面向方面编程 什么是面向方面编程 软件项目中,日志系统等服务系统 ...

  3. vue中keep-alive的用法

    1.keep-alive的作用以及好处 在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-al ...

  4. Java高并发之无锁与Atomic源码分析

    目录 CAS原理 AtomicInteger Unsafe AtomicReference AtomicStampedReference AtomicIntegerArray AtomicIntege ...

  5. [ 搭建Redis本地服务器实践系列 ] :序言

    说起来,是在一个气候适宜的下午,虽然临近下班,不过办公室里还是充满了忙碌的身影,不时的还会从办公区传来小伙伴们为了一个需求而激烈争论的声音,自从入了互联网这个行业,说实话,也就很少休息了,当然了也不全 ...

  6. springboot+mybatis+redis实现分布式缓存

    大家都知道springboot项目都是微服务部署,A服务和B服务分开部署,那么它们如何更新或者获取共有模块的缓存数据,或者给A服务做分布式集群负载,如何确保A服务的所有集群都能同步公共模块的缓存数据, ...

  7. java正则表达式验证金额

    String reg_money = "\\d+(\\.\\d{1,2})?";// 金额正则,可以没有小数,小数最多不超过两位 Pattern pattern = Pattern ...

  8. 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理

    这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...

  9. Java 精简Jre jar打包成exe

    #开始 最近几天都在忙一个事情,那就是尝试精简jre,我想不明白为什么甲骨文官方不出exe打包工具... 网络上精简jre的文章很多,但是原创的似乎没几个,绝大多数都是转发同一个博客, 这里借鉴了不少 ...

  10. MySQL复制进阶

    Ⅰ.背景 搭建MySQL复制环境非常简单 你的系统是否也是像我之前那么搭建的呢? 那么,你的复制系统是否出现过以下的情况呢? 复制报错,例如:1062,1032 主从数据不一致 Ⅱ.真正高可靠复制环境 ...