DML(数据操纵语言)
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(数据操纵语言)的更多相关文章
- DML 数据操纵语言
1.INSERT(插入)语言结构 INSERT INTO table(表名)(要插入的列名) VALUES(要插入的具体值): table:要插入数据的表的表名 column[,column]:表中要 ...
- Hive 官方手册翻译 -- Hive DML(数据操纵语言)
由 Confluence Administrator创建, 最终由 Lars Francke修改于 八月 15, 2018 原文链接 https://cwiki.apache.org/confluen ...
- DML数据操纵语言
--创建表T_HQ_BM2 --create table t_hq_bm2 as select * from t_hq_bm; commit; --添加行内容 --insert into t_hq_b ...
- (让你提前知道软件开发33):数据操纵语言(DML)
文章2部分 数据库SQL语言 数据操纵语言(DML) 数据操纵语言(Data Manipulation Language,DML)包含insert.delete和update语句,用于增.删.改数据. ...
- MySQL之数据操纵语言(DML)
数据操纵语言(DML) 数据操纵语(Data Manipulation Language),简称DML. DML主要有四个常用功能. 增 删 改 查 insert delete update sele ...
- 数据库原理及应用-SQL数据操纵语言(Data Manipulation Language)和嵌入式SQL&存储过程
2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射 ...
- oracle数据操纵语言(DML)data manipulation language
数据库操纵语言(DML)用于查询和操纵模式对象中的数据,它不隐式地提交当前事务. SELECTINSERTUPDATEDELETECALLEXPLAIN PLANLOCK TABLEMERGE使用算术 ...
- 30442数据操纵语言DML
5.5 SQL的数据操纵功能 5.5.1 数据插入 使用CREATE语句创建的数据表还只是一个“空壳”,表中没有任何数据.利用SQL语言提供的INSERT语句可以完成向数据表插入数据的任务. INSE ...
- DML语言(数据操纵语言)
#DML语言/*数据操作语言:插入:insert修改:update删除:delete */ #一.插入语句#方式一:经典的插入/*语法:insert into 表名(列名,...) values(值1 ...
随机推荐
- Spring Boot常用注解总结
Spring Boot常用注解总结 @RestController和@RequestMapping注解 @RestController注解,它继承自@Controller注解.4.0之前的版本,Spr ...
- Spring Boot实战笔记(八)-- Spring高级话题(条件注解@Conditional)
一.条件注解@Conditional 在之前的学习中,通过活动的profile,我们可以获得不同的Bean.Spring4提供了一个更通用的基于条件的Bean的创建,即使用@Conditional注解 ...
- IM进化论:腾讯也难逃被颠覆掉的命运
在一定程度上,腾讯代表了中国IM领域的过去和未来.但有句俗话,后来推前浪,前浪被拍死在沙滩上,"生死腾讯"也总会变为生和死,因为腾讯很可能会有被颠覆掉的一天.腾讯的IM接口是个庞然 ...
- Oracle 服务启动关闭
有没有感觉到,自从装上Oracle之后,电脑变卡了?卡是正常的,oracle作为大型数据库软件,运行起来是非常吃内存的. 所以对于自用的电脑来说,不使用Oracle的时候,应该把Oracle的一系列服 ...
- activemq的消息确认机制ACK
一.简介 消息消费者有没有接收到消息,需要有一种机制让消息提供者知道,这个机制就是消息确认机制. ACK(Acknowledgement)即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符 ...
- swoft 源码解读【转】
官网: https://www.swoft.org/ 源码解读: http://naotu.baidu.com/file/814e81c9781b733e04218ac7a0494e2a?toke ...
- Libevent教程001: 简介与配置
本文内容大致翻译自 libevent-book, 但不是照本翻译. 成文时, libevent最新的稳定版为 2.1.8 stable. 即本文如无特殊说明, 所有描述均以 2.1.8 stable ...
- Day1 《机器学习》第一章学习笔记
<机器学习>这本书算是很好的一本了解机器学习知识的一本入门书籍吧,是南京大学周志华老师所著的鸿篇大作,很早就听闻周老师大名了,算是国内机器学习领域少数的大牛了吧,刚好研究生做这个方向相关的 ...
- python 3 中的raw_input 报错
raw_input() was renamed to input()
- 跟我学ASP.NET MVC之七:SportsStrore一个完整的购物车
摘要: SportsStore应用程序进展很顺利,但是我不能销售产品直到设计了一个购物车.在这篇文章里,我就将创建一个购物车. 在目录下的每个产品旁边添加一个添加到购物车按钮.点击这个按钮将显示客户到 ...