Oracle入门(十三)之SQL的DML

数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上SQL的SELECT语句的四大指令以“CRUD”来称呼。

一、数据查询 - Select

select语句完整的句法如下:

select 目标表的列名或列表达式序列

from 基本表名和(或)视图序列

[ where 行条件表达式 ]

[ group by 列名序列

 [ having 组条件表达式 ] ]

[ order by 列名[ asc|desc ],… ]

select * from employees where  to_char(hire_date,'yyyy-mm') =to_char(sysdate,'yyyy-mm');

注:Oracle入门(十三)之Select


二、数据插入-Insert

功能:在表中插入一条新的数据
语法:insert into tablename [(column [,column...])]  values(value1 [, value2...])
注意:
Column缺省默认为所有列、如果某列值为空,需设为null
例1:
insert into t_gtype values('T00001','日用百货');
例2:
insert into t_gtype(gtname,gtid) values('儿童用品','T00002');

(1)使用函数

 insert into t_user 

values('000002','李宇',to_date('1989-10-25','yyyy-mm-dd') ,'m','佛山禅城区','0757-89999999');

注:字符串加单引号、字符串日期数据要转换格式

(2)使用表格定义的默认值

insert into t_main_procure(pmid,pdate,pstate,pmemo)  

values('P00000000001',default,'1','初始化系统数据');

(3)使用序列

insert into t_user(uiid,uname)

 values(user_seq.nextval,'系统管理员');

注:nextval 伪列用于从指定序列中提取连续的序列号。必须用序列名来限定nextval。在引用“序列名.nextval”时,会生成新的序列号,并将当前的序列号放置在currval 中。

注:Oracle入门(十二)之序列(G)

(3)使用select
可以使用INSERT INTO SELECT语句实现在insert语句
中使用子查询

语法格式为:

insert into table2(field1,field2,...) 

select value1,value2,... from table1;


三、数据修改-Update

修改表中的数据
语法:

 update tablename
 set column1 = value1 [, column2 = value2, ...]

 [where condition];

例子:

update employees set salary = salary + 100;
(1)基于子查询的修改
update tablename
 set column1 = (select 子句)
 [where condition];

四、数据删除 - Delete

删除表中的数据
语法:
 delete [from] table
 [where condition];
例子:删除t_goods数据
 delete from t_goods ;
注:delete 只是将数据标记为unused,要清除大表数据存储空间,用truncate

五、事务

commit:发出commit 语句后,当前事务处理结束,所有待定更改变为永久性更改。
rollback:发出rollback 语句后,将放弃所有待定更改。
savepoint:在事务处理中创建标记,该标记将事务处理分成几个较小的部分。
rollback to savepoint:允许用户将当前事务处理回退到指定的保存点。


事务处理何时开始或结束事务处理从第一个DML(INSERT、UPDATE、DELETE 或MERGE)语句开始。
出现以下任一情况时事务处理结束:

  • 发出了COMMIT 或ROLLBACK 语句
  • 发出了DDL和DCL
  • 用户退出了iSQL*Plus 或SQL*Plus

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core 跨平台发布(dotnet publish)

.NET Core 跨平台发布(dotnet publish) ,无需安装.NET Core SDK,就可以运行。 前面讲解了.NET Core 的VSCode 开发。现在来讲讲发布(dotnet publish)。 .NET Core and ASP.NET Core 1.0 RC2 runtime and libraries 在五月中旬发布。 .NET Core and ASP.N…

Oracle入门(十三A)之Select

一、数据查询语句 (1)select语句完整的句法select 目标表的列名或列表达式序列from 基本表名和(或)视图序列[ where 行条件表达式 ][ group by 列名序列[ having 组条件表达式 ] ][ order by 列名[ asc|desc ],… ] &a…

华为交换机ssh思科交换机_华为交换机 ssh 配置(极简版)

华为的 ssh 叫 STelnet(1)配置STelnet服务器功能及参数rsa local-key-pair create [1]stelnet server enable [2]undo ssh server keepalive disable [3][1] 创建密钥对,这个是必须的。可以选用 rsa dsa ecc 等加密算法,这里选择了最常用的rsa。输入命令…

17.内存分区与分页

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.程序使用内存的3个步骤: 步骤1:把程序分为多个段,包括代码段,数据段;这是编译要做的事…

漫谈C#编程语言在游戏领域的应用

0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球。而在游戏行业中,C#也开始慢慢地获得了关注。这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台部署了。 所以,我们就来总结一…

dex工具与transform_Android Studio打包程序时出现transformClassesWithDexForRelease错误

百度半天.没找到直接原因..国外网站上有写这个错误的..国内的真心没找到..英语水平有太低..实在没看懂怎么搞..后来发现clean项目的时候是提示如下错误:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndr…

18.多级页表与快表

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.操作系统内存管理:分页机制多级页表快表来实现; 【0】分页的问题 1)分页的问题(大页表&#xff09…

Oracle入门(十三A1)之替换变量,变量名,变量名

转载自 Oracle中的替换变量,&变量名,&&变量名替换变量(仅用于SQL *Plus或者用于原理和SQL *Plus相同的开发工具):临时存储值利用它可以达到创建通用脚本的目的利用它可以达到和用户交互,故在SQ…

常用API接口签名验证参考

项目中常用的API接口签名验证方法: 1. 给app分配对应的key、secret2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下:  a. 按照请求参数名称将所有请求参数按照字母先后顺序排序得到:keyvaluekeyvalu…

19.段页结合的实际内存管理

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.段与页 段: 用户程序采用分段结构;页: 操作系统采用分页机制管理物理内存;段页结合:程…

python中变量怎么定义_python中的变量的使用定义以及使用规则

本篇包括14章内容,系统介绍了Python语言的基础知识。内容包括Python基础语法、数据类型和类型转换、运算符、流程控制(分支结构循环结构)、数据结构(列表生成式)、函数的定义及使用、异常处理、迭代器生成器、偏函数、python中的模块和包、python标准内置库os以及使…

Oracle入门(十二G)之序列

序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。由于它属于可共享对象,所以允许多个用户访问。一般情况下,序列用于创建主键值。 序列号的存储和生成与表无关。因此,同一序列可以用于多个表。 …

20.内存换入-请求调页

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.操作系统关于内存管理的核心是基于虚拟内存的分段和分页管理; 3.而用内存换入和换出实现虚拟内存 ; 【1】虚拟内存 1&…

机器人点焊枪接线_用于焊接机器人焊枪工具点及工件坐标系标定装置及方法与流程...

本发明属于机器人焊接技术领域,涉及一种用于焊接机器人焊枪工具点及工件坐标系标定的装置及方法。背景技术:工业机器人是实施自动化生产线、工业4.0、智能制造车间、数字化工厂、智能工厂的重要基础装备之一。而据不完全统计,全世界在役的工业…

采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)

前言 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这是一个对Entity Framework进行扩展的类库. 完全支持EF 5.0/6.0, GitHub地址 https://github.com/loresoft/EntityFramework.Extended, 最后一次更…

Oracle入门(十二J)之同义词

转载自 oracle同义词 一、创建同义词 --普通用法 create [or replace] [public] synonym [schema.] 同义词名称 for [schema.] object [dblink];--创建专有(私有)同义词 create synonym sysn_test for test;--创建公共同义词 create public synonym publ…

21.内存换出

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.有内存换入就有内存换出。 3.因为物理内存空间有限,n次(第n页)换入后导致物理内存用完,则n1次&…

antd vue表单上传文件_vue+axios+antD的上传图片踩坑

一开始使用了实验室大佬封装的axios结合formData进行图片上传,然而传递给后台的formData是空的,打印出来的form又确实是存在的,百度搜了一大推,于是借鉴了百度的做法。1.引入axios import axios from ‘axios‘;2.创建一个新的axios,const …

移动web开发调试工具AlloyLever介绍

简介 web调试有几个非常频繁的刚需:看log、看error、看AJAX发包与回包。其他的如timeline和cookie以及localstorage就不是那么频繁,但是AlloyLever都支持。如你所见: 特征 点击alloylever按钮之间切换显示或隐藏工具面板Console会输出所有用户…

Oracle入门(十三A2)之单行函数

一、函数介绍 功能:改变数据输出形式或进行数据运算输出二、单行函数函数格式 函数说明abs(n) 返回n的绝对值floor(n) 返回小于等于n的最大整数ln(n) 返回n的自然对数&#xff…