DML(数据操纵语言)

摘要:
它通过以下关键字实现:SELECT(查询)、INSERT(插入)、UPDATE、DELETE(删除)2.INSERT(插入):2.1函数:向表中插入数据。事务以DML语句开始。之前对数据所做的任何更改都将被撤销。2.一致性表示基础数据存储的完整性。
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(数据操纵语言)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇django2.0.4跨域解决办法报错问题hdoj下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue.js 数据交互 ajax

最近刚学习了vue 遇到数据交互ajax提交数据,百度了一下 说的都好复杂 我来简化一下 首先安装axios或者直接下载axios.min.js文件 然后script引入 这里我们只讲安装引入的方法  npm install axios -S  安装 在main.js中引入 import axios from 'axios' Vue.prototype.$...

iOS 结构化数据访问

一、介绍   在存储大量数据时,除了最基本的打开文件,读取文件,存盘等这些没有明确管理机制的方式来存储数据外,iOS还提供了另外几种重要的数据存储方式。虽然这些方式最后还是将数据存储在文件中,但是iOS以一套系统性有制度的方式来管理这些数据,让数据不再是“散乱”的存储在文件中。如此一来,我们很容易处理大量的数据,并且同时兼顾性能。最常用的有三种方式:   ...

记一次前后端数据加密的学习

最近项目涉及到一些敏感信息,业务要求数据在传输过程中需要加密。 这里数据传输包含2中 前后端数据传输过程 与其它服务(系统)数据交互时,数据的传输过程 这里我们先简要介绍加密算法的优缺点。再通过前后端(vue、java)代码的形式,演示加密解密的demo 1.加密算法简介 参考并整理了目前比较流行的2种加密算法 1.1.RAS 非对称加密 RAS 加密...

ADF 第五篇:转换数据

Azure Data Factory 系列博客: ADF 第一篇:Azure Data Factory介绍 ADF 第二篇:使用UI创建数据工厂 ADF 第三篇:Integration runtime和 Linked Service ADF 第四篇:管道的执行和触发器 ADF 第五篇:转换数据 ADF 第六篇:Copy Data Activity详解 A...

Sql Server 2012 数据库同步方式 (发布、订阅)

上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作。发布订阅份为两个步骤:1、发布。2订阅。首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。发布可以发布一张表的部分数据,也可以对整张表进行发布。下面分别介绍发布、订阅的过程。   1、发布。发...

Oracle SQL获取每个分组中日期最大的一条数据

  在报表开发中,经常遇到这样的问题:分组后,只需要每个分组最新的一条数据,其他的就不要了   此时的思路应该是:对分组进行排序,并编号,然后select编号为1的记录即可。   代码如下: select rn,a,b,c from (select ROW_NUMBER() OVER(PARTITION BY a ORDER BY b DESC) r...