Oracle(DML)
数据操作语言:
insert update delete
事务控制语言:
commit rollback savepoint
1.insert语句
两种格式:
直接插入
子查询插入
1. 直接插入基本语法:
insert into tb_name[(col_name,...)]
values(val1,....);
note:
1.如果给每个列都插入数据,可以省略table后边的列,并且插入值的顺序和定义表的顺序一致
2.如果插入的顺序和表定义的顺序不同,或者只插入某几列的值table_name后边必须跟上列名
3.字符串和日期类型的值必须使用‘’引起来
4.insert语句一次只插入一条数据
5.插入的值可以使用系统函数,例如---user,sysdate
6.插入的值可以使用运行时参数。
2.使用子查询插入
insert into table_name[(col_name,....)]
select .......
note:
1.不出现values关键字
2.插入的列的名字和子查询返回结果的列相匹配。
2.delete语句:
语法:delete [from] tbl_name [where option...]
note:在加外键约束的时候,如果想在删除主表的记录的同时对外键表中已经存在的关联关系记录进行操作可以使用下面两个关键词:
on delete cascade:级联删除,删除主表记录,外键表的关联记录一块儿删除
on delete set null:删除主表记录,外键表的关联记录该列的值变成null
3.update 语句:
语法:update table_name set column=value,[column=value]
[where condition...];
note:
1.如果不加条件,默认修改表中所有的行。
4.事务控制:
当一个sql命令执行一个事务就开始了,当遇到一下情况,事务自动完成
1.commit或者rollback
2.DDL或者DCL命令执行
3.错误,退出,或者系统崩溃
事务控制使用:commit,savepoint,rollback;
5.事务的ACID原则:
1.原子性:要不全成功,要不全失败
2.一致性:从一个一致性状态到达另外一个一致性状态
3.隔离性:事务之间互不影响
第一类丢失更新
不可重复读
幻影读
脏读
第二类丢失更新
4.持久性:事务提交后,能够持久性影响数据库。
6.隐式事务提交:
1.DDL语句(create..),执行commit
2.DCL语句(gant....),执行commit
3.正常退出终端。
note:如果系统崩溃,或者sqlplus不正常退出,事务回滚。
7.事务提交或者回滚之前的状态
1.因为数据库缓存区的存在,数据前一次的状态可以被回复
2.当前用户可以会看使用DML操作的数据的结果,但是其他用户不能看到当前用户的DML操作结果
3.所有受影响的行会被锁定,其他用户不能修改。
8.显示结束事务
commit:之前所做的所有会影响数据库的操作,都会对数据库产生持久的影响。
rollback:取消之前所做的所有操作
note:事务一旦提交,不能rollback
savepoint: 保存回滚点
savepoint point_name;
rollback to point_name;回滚到指定的标记点。标记点之后所做的所有操作都会被取消,但是之前的不受影响。
Oracle(DML)的更多相关文章
- Oracle DML容错处理(1)
Oracle dml操作过程中可能出现键重复或者数据类型不一致等问题,一般进行数据处理时候需要对这些可能出现的错误提前考虑,避免更新失败.Oralce给出了一些其他解决方案,以在不同场景下使用. 1. ...
- oracle DML语句
DML语句 1. 插入数据 创建一个新表 create table new_cust as select * from customers --使用insert语句添加行 /* 确定要插入的行所在的 ...
- Oracle DML容错处理(2)
关于DML Error Logging效率的问题,摘自网上一篇文章,作为单独一篇说明,原文如下: DML Error Logging in Oracle 10g Database Release 2 ...
- oracle DML错误日志(笔记)
DML错误日志是oracle10gR2引入的一个类似于SQL*Loader的错误日志功能.它的基本原理是把任何可能导致语句失败的记录转移,放到一张错误日志表中. 具体使用如下: 1.使用DBMS_ER ...
- oracle DML(数据管理语言)sql 基本语句
- oracle DML语句 事务的定义与特点
1.insert into (插入数据) insert in to 表名(列表1,列表2) values(要插入的数据1,数据2); or insert into 表名 values(数据 ...
- 转 如何观察 undo Oracle DML语句回滚开销估算
https://searchdatabase.techtarget.com.cn/7-20392/ --use_urec 详细解读: select USED_UREC from v$transacti ...
- Oracle ddl 和 dml 操作
ddl 操作 窗口设置用户权限的方法 Oracle的数据类型 按住Ctrl点击表名 ,可以鼠标操作 插入的数据需要满足创建表的检查 主表clazz删除数据从表设置级联也会一同删除 有约束也 ...
- ORACLE 11G R2 RAC classical install OGG12.1(LINUX) 经典抽取模式单项同步配置OGG12.1
博文结构图如下: 一.环境描述以及注意事项 1.1 环境简介 IP 系统 Oracle版本 OGG版本 源端 172.16.10.16/36 RHEL6.5 oracle11204 12.1 目标端 ...
随机推荐
- ssh无密码通信设置
■单向登陆配置:1.在本地机器中的~/.ssh/目录下执行下命令#ssh-keygen -t dsa然后全部回车,采用默认值.生成了一对密钥,id_dsa和id_dsa.pub,存放在用户目录的~/. ...
- linux指定nologin用户执行命令
为了安全,使用nologin账号来运行程序, su -s /bin/bash -c "ls" www 这条命令到底做了什么呢?su -s 是指定shell,这里www用户是nolo ...
- Spring松耦合实例
假设你的项目有一个函数输出的内容,以CSV或JSON格式.您的代码可能看起来像下面的例子: File : IOutputGenerator.java – 输出生成器接口 package com.yii ...
- DataList 用法详解
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataList.aspx. ...
- git pull 冲突解决
这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来. 处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理. 1.先将本地修 ...
- 在Eclipse 中使用tomcat8
最新版本的Eclipse让人不支持 Tomcat 8,该方法让Eclipse能使用Tomcat8 第一步:下载最新版本Eclipse for Java EE 第二步:到WTP downloads pa ...
- js 控制浏览器窗口大小
//打开一个新窗口并设置其大小window.open('index.html','','width=450,height=750,location=no,menubar=no,status=no,to ...
- Windows Phone 一、XAML基础语法
XAML的命名空间 命名空间格式:语法结构为“xmlns:”+“命名空间前缀名”,默认命名空间无需定义命名空间前缀名“xmlns” 命名空间的声明 <Page x:Class="App ...
- Android--我的Butterknife黄油刀怎么找不到控件了!!!
1,首先说一下Butterknife这个插件真的挺好用的,不过最近几天在写demo的时候发现总是出现绑定的view是空的,当时着急写代码,也没有深究一下,直接手工findViewbyid了,今天下午写 ...
- Java:回调机制
引用:http://blog.sina.com.cn/s/blog_48cf38890100go6x.html 1. 什么是回调函数 回调函数(callback Function),顾名思义, ...