0

0

Oracle学习笔记:SQL更新数据和一些常用函数

php中文网

php中文网

发布时间:2016-06-07 17:05:02

|

1314人浏览过

|

来源于php中文网

原创

数据库中的数据变更,主要有以下三种:插入数据(insert)、修改数据(update)、删除数据(delete)。这几种操作都是开发人员常

数据库中的数据变更,主要有以下三种:插入数据(

insert操作及注意事项

update操作及注意事项

delete操作及注意事项

通过本章的学习,读者既可以学习insert/update/delete操作的基本语法,同时,还可以了解实际开发中的注意事项。

1  

insert

 1.1  单条插入

对于insert操作来说,单条插入是最常用的方式,其语法形式如下所示。

insert into 

values(

insert操作中,列名列表中的各列需要以逗号进行分隔;而值列表指定各列的值,列名与值需要一一对应

 1.2  批量插入

c_students的数据结构及内容如下所示。

SQL> select * from c_students;

 STUDENT_ID   STUDENT_NAME

我们可以利用如下

SQL> insert into c_students(student_id, student_name)

    select student_id, student_name

    from students

where student_id

 1.3  注意事项与技巧

insert

1.应该养成使用列名列表的习惯

2.快速获得列名列表

2  

update操作用于更新已有数据。

   2.1  update更新单列

update操作的语法形式如下所示。

update 

其中

在表

SQL> update students set status = upper(status);

2.2  update更新多列

使用update语句,同样可以更新多列,其语法如下所示。

update 

set命令之后,可以为多列同时赋值,而这些列之间使用逗号进行分隔。

对于表

SQL> update students set student_age = student_age+1, status = upper(status);

2.3  注意事项

对于

SQL> update students set student_age = student_age+1

  where student_age > 20;

3  

delete

  3.1  delete操作

delete操作用于删除表中数据,其使用语法如下所示。

delete from 表名

delete from指定从哪个表中删除数据。因为删除动作的作用对象为记录级别,因此无需指定列名信息。

我们可以利用

SQL> delete from students where student_id>10;

  

3.2  delete

除了

    SQL>rollback ;

 

lower函数:
此函数将全部的大写字母都可以变为小写字母
  select lower('abcde') from dual ;
dual表为一个虚拟表,以后介绍

upper函数:将输入的字符串变为大写字母
  SELECT upper('abcd') FROM dual ;

例如:之前查询的时候区分大小写,所以此处如果输入的是小写字母,就可以通过upper函数进行转换。
查询雇员姓名内容为smith的全部员工。
SELECT * FROM emp WHERE ename=UPPER('smith') ;

initcap函数:将每个字符串的首字母大写
例如:要求将雇员表中的全部雇员信息的首字母大写。
  SELECT initcap(lower(ename)) FROM emp ;
函数可以进行嵌套。

concat函数:字符串连接,可以连接两个字符串
SELECT concat('hello',' world!!!') FROM dual ;
实际上使用“||”也可以完成两个字符串的连接操作。

substr函数:字符串截取
截取的时候需要注意:要从那里开始截取,之后取多长的长度。
SELECT substr('hello',1,2) FROM dual ;
注意:substr函数的开始点是从1开始的。

length:取出字符串的长度,例如,取出每一个雇员的姓名的长度:
SELECT ename||' 姓名的长度为:'||length(ename) FROM emp ;

instr函数:查找在一个字符串中是否有指定的字符串,如果有,,则返回其位置
SELECT instr('hello','x') FROM dual ;
如果有此字符串,则返回位置,如果没有,则返回0。

replace函数:替换,可以将一个字符串中的指定字符串替换为其他内容:
SELECT replace('hello','l','x') FROM dual ;

trim函数:去掉左右空格的函数
SELECT trim('        hello          ') FROM dual ;

查询:
1、 检索姓名最后一个字母为N的雇员
  SELECT * FROM emp WHERE substr(ename,-1,1)='N';
2、 检索职务为“SALE”的全部员工信息
  SELECT * FROM emp WHERE substr(job,1,4)='SALE';

ROUND表示四舍五入
SELECT ROUND(34.56,-1) FROM dual ;
TRUNC函数:表示截取函数
SELECT TRUNC(34.56,-2) FROM dual ;
MOD函数:取余数
SELECT MOD(10,3) FROM dual ;

取得当前日期:
在Oracle中可以通过查询sysdate取得当前的日期:
  SELECT sysdate FROM dual ;

例如:计算10部门中的员工进入公司的日期数:
肯定使用当前日期-雇佣日期(hiredate) = 天数,天数/7为日期数。
SELECT ename,round((sysdate-hiredate)/7) from emp ;


例如:
求出所有员工的受雇月数:months_between,使用当前日期与雇佣日期比较。
SELECT ename,round(MONTHS_BETWEEN(sysdate,hiredate)) from emp ;

ADD_MONTHS:表示在日期的基础上增加几个月之后的日期:
求出,三个月之后的日期是那一天:
  SELECT ADD_MONTHS(sysdate,3) FROM dual ;

NEXT_DAY:表示下一个这天(星期几)
SELECT NEXT_DAY(sysdate,'星期一') FROM dual ;

LAST_DAY:求出当前日期所在月的最后一天:
SELECT LAST_DAY(sysdate) FROM dual ;

相关专题

更多
Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

44

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

58

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

11

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.9万人学习

Node.js 教程
Node.js 教程

共57课时 | 8.6万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号