当前位置: 首页 > news >正文

Java进阶-Oracle(二十一)(2)

🌻🌻 目录

  • 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)
    • 1.1 标识符、关键字、函数等
      • 1.1.1 数值类型:
      • 1.1.2 字符串类型:
      • 1.1.3 日期类型
      • 1.1.4 大的数据类型--适合保存更多的数据
    • 1.2 运算符
    • 1.3 函数---预定义函数、自定义函数,
      • 1.3.1 数值函数---进行数值操作:
      • 1.3.2 字符串函数
      • 1.3.3 日期函数
      • 1.3.4 转换函数
      • 1.3.5 其他函数
    • 1.4 单表多表查询
    • 1.5 分页查询

一、Oracle 数据库的操作(DDL DML DQL DCL TPL)

1.1 标识符、关键字、函数等

  • 1)标识符—数字、字母、下划线、#
  • 2)关键字
  • 3)数据类型:

1.1.1 数值类型:

  • 1) Mysql—int double
  • 1) Oracle—number:整数和小数,number(n)–整数,number(m,n)–小数,m表示小数的整体位数,n表示小数点之后的位数

1.1.2 字符串类型:

Mysql—char varchar
Oracle—char varchar2 nchar nvarchar2
char nchar – 定长类型,向此类型的字段中添加字符串的时候,如果字符串的长度不够指定的长度,那么自动补齐空格
varchar2 nvarchar2 – 变长类型,向此类型的字段中添加字符串的时候,不会补齐空格,添加的字符串是多长那么空间就是多长
varchar2和nvarchar2–占4000字节,通常一个数字或者一个字母对应一个字节,使用此两个类型可以保存4000个字母或者数字,在Oracle中默认三个字节一个汉字
varchar2(n) — n表示字节个数,能放的汉字个数n/3
varchar2(n char) — n表示汉字个数
char和nchar—占2000字节,char(n char) — n表示汉字个数

1.1.3 日期类型

Mysql – date datetime
Oracle – date timestamp

1.1.4 大的数据类型–适合保存更多的数据

Mysql — text tinytext longtext 存更多的字符串
blob longblob 存非字符串的内容,比如图片、音频等
Oracle — clob long 存更多的字符串
blob 存非字符串的内容,比如图片、音频、视频等

1.2 运算符

A、算术运算 + - * / mod()
B、关系判断运算:> >= < <= <>/!=
C、逻辑判断运算:and or not
D、特殊运算:is null is not null like in between…and
not like not between…and

1.3 函数—预定义函数、自定义函数,

在Oracle中函数的运行需要使用标准的sql格式,在Oracle中为了补齐标准的sql,设置了一个dual的虚拟表,
聚合函数—统计函数:count() avg() sum() max() min()
单行函数:

1.3.1 数值函数—进行数值操作:

数学函数–
abs()绝对值
四舍五入round()

在这里插入图片描述

截取数值函数trunc()–只删除不进位

在这里插入图片描述

floor()–比指定数值小的最大整数
ceil()–比指定数值大的最小整数

在这里插入图片描述

power()
log()

1.3.2 字符串函数

字符串截取–substr()

在这里插入图片描述

字符串长度–length()

在这里插入图片描述

大写转小写lower()
小写转大写upper()

在这里插入图片描述

首字母大写,其他小写initcap()

在这里插入图片描述

字符串串联concat() ||

在这里插入图片描述

1.3.3 日期函数

sysdate – 系统时间

在这里插入图片描述

给月份增加值add_months()

在这里插入图片描述

四舍五入日期round(date,’month/year’)

在这里插入图片描述

1.3.4 转换函数

在Oracle中日期格式是:日-月-年,而且月上还有一个汉字‘月’,比如:14-5月-19 19年5月14日
字符串转日期

select to_date('2023-05-07','YYYY-MM-dd') from dual;

在这里插入图片描述

字符串转数值–to_number(数值字符串,格式字符串)

select to_number('123','9G999') from dual;
select to_number('56,023,780','999,999,999') from dual;

在这里插入图片描述

日期转字符串、数值转字符串to_char

SELECT to_char(sysdate,'YYYY-MM-dd') from dual;
SELECT to_char(123456789,'999,999,999') from dual;

在这里插入图片描述

1.3.5 其他函数

Oracle自带模板表

在这里插入图片描述

与null有关的函数

select nvl(comm,0) from emp;

在这里插入图片描述

nvl()函数,将null转成指定的值
nvl2()函数,当第一个参数值不为null时,显示第二个参数的结果,当第一个参数值为null时,显示第三个参数的结果

select nvl2(comm,sal+comm,sal) from emp;

在这里插入图片描述

与case when then结构有关的函数

select job,case job when 'CLERK' then '文员'when 'SALESMAN' then '销售员'when 'MANAGER' then '经理'when 'ANALYST' then '分析员'when 'PRESIDENT' THEN '总裁'end job1
from emp;

在这里插入图片描述

代替以上格式的函数

select job,decode(job,'CLERK','文员','SALESMAN','销售员','MANAGER','经理','ANALYST','分析员','PRESIDENT','总裁') job1
from emp;

在这里插入图片描述

1、DDL—数据库定义语言:create drop alter
2、DML—数据库操作语言:insert delete update
3、DQL—数据库查询语言:select

CREATE TABLE t_person(pid NUMBER(5) primary key,pname VARCHAR2(3 CHAR),psex CHAR(1),pbirthday DATE,psal NUMBER(5,2),pbir timestamp
);SELECT * FROM t_person;INSERT INTO t_person VALUES(1004,'张易得','3','1-5月-1995',333.993,SYSDATE)

在这里插入图片描述

1.4 单表多表查询

单表查询:简单查询、子查询、连接查询
多表查询:连接查询、子查询

 -- 查询员工中没有奖金的员工信息
SELECT * FROM EMP WHERE COMM IS NULL OR COMM = 0

在这里插入图片描述

-- 子查询的结果如果出现在外查询的Where部分,那么子查询的结果就是where的条件值
-- 子查询的结果如果出现在外查询的from部分,那么子查询结果就是表
--如果子查询出现在where部分,子查询结果只有一个值,那么把子查询就看作是这个值
--如果子查询出现在where部分,子查询结果是一列多个值,那么把子查询看做同类型多个值--查询员工工资比平均工资高的员工的信息SELECT * FROM EMP WHERE SAL > (select AVG(SAL) from EMP)

在这里插入图片描述

-- 查询Smith、allern同部门的其他员工信息select DEPTNO from EMP where  ENAME = 'SMITH' OR ENAME = 'ALLEN';SELECT * FROM EMP 
WHERE DEPTNO IN (select DEPTNO from EMP where  ENAME = 'SMITH' OR ENAME = 'ALLEN') 
AND  ENAME <> 'SMITH' AND ENAME <> 'ALLEN';

在这里插入图片描述

--查询每位员工姓名以及领导的姓名SELECT * from  emp e,emp m where e.empno = m.mgr(+)   --(+)ORACLE 特有的加上相当于左查询SELECT * from  emp e LEFT JOIN emp m ON e.empno = m.mgr  --左查询

在这里插入图片描述

1.5 分页查询

  • 在Oracle中实现分页,没有limit关键字
  • rowid保证表中数据的唯一性
  • Rownum是查询结果的行号
  • 分页实现

– 第一页,每页4个,行号从1到4

select empno,ename,job,mgr,hiredate,sal,comm,deptno
from (select rownum r,emp.* from emp) te
where te.r between 1 and 4;

在这里插入图片描述

相关文章:

Java进阶-Oracle(二十一)(2)

&#x1f33b;&#x1f33b; 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型&#xff1a;1.1.2 字符串类型&#xff1a;1.1.3 日期类型1.1.4 大的数据类型--适合保存更多的数据 1.2 运算符1.3 函数---预定义函数、自定义函数&…...

SpringCloud实用篇4——MQ RabbitMQ SpringAMQP

目录 1 初识MQ1.1 同步和异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 技术对比 2.快速入门2.1 安装RabbitMQ2.1.1 单机部署2.1.2集群部署 2.2 RabbitMQ消息模型2.3.导入Demo工程2.4 入门案例2.4.1 publisher实现2.4.2 consumer实现 3 SpringAMQP3.1 Basic Queue 简单队列模型3.1…...

【BASH】回顾与知识点梳理(二十二)

【BASH】回顾与知识点梳理 二十二 二十二. Linux 账号管理22.1 Linux 的账号与群组使用者标识符&#xff1a; UID 与 GID使用者账号/etc/passwd 文件结构/etc/shadow 文件结构 关于群组&#xff1a; 有效与初始群组、groups, newgrp/etc/group 文件结构有效群组(effective grou…...

shell脚本之正则表达式

目录 一.常见的管道命令1.1sort命令1.2uniq命令1.3tr命令1.4cut命令1.5实例1.5.1统计当前主机连接状态1.5.2统计当前主机数 二.正则表达式2.1正则表达式的定义2.2常见元字符&#xff08;支持的工具&#xff1a;find&#xff0c;grep&#xff0c;egrep&#xff0c;sed和awk&…...

将SM2根证书预置到chromium中

最近花了很多精力在做chromium的GmSSL适配&#xff0c;协议和算法都已经完成&#xff0c;这篇文章是关于将SM2根证书预置到chromium中 我的开发测试环境是macos12.4&#xff0c;从chromium的代码和文档中得知证书获取和校验都是通过操作系统以及native api接口完成&#xff0c…...

linux安装mysql-8.0.33正确方式及常见问题

目录 获取mysql下载地址链接 解压安装包 复制文件到安装目录 添加用户和用户属组修改权限 创建存储数据的文件夹/usr/local/mysql 初始化安装 修改配置文件 创建日志文件并赋予对应权限 启动成功​编辑 创建软链接 之前安装过mysql&#xff0c;时间比较长忘记安装步骤了今天…...

Vim的插件管理器之Vundle

1、安装Vundle插件管理器 Vim可以安装插件&#xff0c;但是需要手动安装比较麻烦&#xff0c;Vim本身没有提供插件管理器&#xff0c;所以会有很多的第三方的插件管理器&#xff0c;有一个vim的插件叫做 “vim-easymotion”&#xff0c;在它的github的安装说明里有列出对于不同…...

机器学习丨1. 机器学习概述

Author&#xff1a;AXYZdong 硕士在读 工科男 有一点思考&#xff0c;有一点想法&#xff0c;有一点理性&#xff01; 定个小小目标&#xff0c;努力成为习惯&#xff01;在最美的年华遇见更好的自己&#xff01; CSDNAXYZdong&#xff0c;CSDN首发&#xff0c;AXYZdong原创 唯…...

清除pip安装库时的缓存

目录 1、命令清除缓存 2、路径手动清除 在使用pip安装Python库时&#xff0c;如果之前已经下载过该库&#xff0c;pip会默认使用缓存来安装库&#xff0c;而不是重新从网络上下载。缓存文件通常存储在用户目录下的缓存文件夹中&#xff0c;具体位置因操作系统和Python版本而异…...

gitee上传一个本地项目到一个空仓库

gitee上传一个本地项目到一个空仓库 引入 比如&#xff0c;你现在本地下载了一个半成品的框架&#xff0c;现在想要把这个本地项目放到gitee的仓库上&#xff0c;这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址&#xff1a;https://gite…...

力扣:63. 不同路径 II(Python3)

题目&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从…...

【C语言】每日一题(多数元素)

多数元素&#xff0c;链接奉上 方法 1.摩尔投票2.合理但错误的方法2.1暴力循环2.2排序求出中间元素中间元素 1.摩尔投票 先来简单的介绍摩尔投票&#xff1a; 摩尔投票是一种用来解决绝对众数问题的算法。 什么是绝对众数呢&#xff1f; 在一个集合中&#xff0c;如果一个元素…...

后端 .net7 Minimal API 限流中间件(微信小程序无师自通十)

我的微信小程序使用.net7 Minimal API 作为后端&#xff0c;当服务器摆上公网后&#xff0c;可以观察到很多的攻击行为和暴力访问。所以&#xff0c;我需要使用微软的限流中间件部署相应的功能在服务器上 关键字&#xff1a; AddFixedWindowLimiter using Microsoft.AspNetCo…...

背上沉重的书包准备面试之react篇

目录 react特性&#xff1f; react生命周期&#xff1f; state和props区别 react中setState执行机制&#xff1f; 在react类组件形式中&#xff0c;setState第二个参数的作用&#xff1f; react事件机制&#xff1f; react事件绑定方式有哪些&#xff1f; react组件之间…...

OpenCV-Python中的图像处理-霍夫变换

OpenCV-Python中的图像处理-霍夫变换 霍夫变换霍夫直线变换霍夫圆环变换 霍夫变换 霍夫(Hough)变换在检测各种形状的技术中非常流行&#xff0c;如果要检测的形状可以用数学表达式描述&#xff0c;就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也是可以使…...

W5500-EVB-PICO做UDP Client进行数据回环测试(八)

前言 上一章我们用开发板作为UDP Server进行数据回环测试&#xff0c;本章我们让我们的开发板作为UDP Client进行数据回环测试。 连接方式 使开发板和我们的电脑处于同一网段&#xff1a; 开发板通过交叉线直连主机开发板和主机都接在路由器LAN口 测试工具 网路调试工具&a…...

npm install 中 --save 和 --save-dev 是什么?

npm&#xff0c;全名 Node Package Manager&#xff0c;套件管理工具&#xff0c;package.json 会记下你在项目中安装的所有套件。 假设在项目中安装 lodash npm i --save lodash这样在 dependencies 中会出现&#xff1a; 如果修改了导入方式&#xff1a; npm i --save-dev …...

【Nginx17】Nginx学习:目录索引、字符集与浏览器判断模块

Nginx学习&#xff1a;目录索引、字符集与浏览器判断模块 今天要学习的内容有几个还是大家比较常见的&#xff0c;所以学习起来也不会特别费劲。对于目录的默认页设置大家都不会陌生&#xff0c;字符集的设置也比较常见&#xff0c;而浏览器的判断这一块&#xff0c;可能有同学…...

CA/TA开发编程实战-视频课程

Hello大家好&#xff0c;上架一门新的视频课程&#xff0c;课程主要包含两大部分&#xff0c;第一部分搭建环境&#xff0c;第二部分从无到有的编写代码。带领大家"手把手"编写。 具体大纲如下&#xff1a; qemu v8环境搭建 搭建一个qemu_v8的环境&#xff0c;用于…...

(7)(7.1) 使用航点和事件规划任务

文章目录 前言 7.1.1 设置Home位置 7.1.2 视频&#xff1a;制作并保存多路点任务 7.1.3 视频&#xff1a;加载已保存的多航点任务 7.1.4 使用说明 7.1.5 提示 7.1.6 自动网格 7.1.7 任务指令 7.1.8 任务结束 7.1.9 任务重置 7.1.10 MIS_OPTIONS 7.1.11 任务再出发 …...

OCR相关模块——版面分析技术、表格文本识别

OCR相关模块——版面分析技术、表格文本识别 版面分析技术表格识别技术 版面分析技术 版面分析模型&#xff1a;飞桨用到了yolov2检测模型&#xff0c;对文档图片中的文本、表格、图片、标题与列表区域进行检测。当前主流是用分割做。 表格识别技术 参考博文...

mov转mp4格式怎么转?

mov转mp4格式怎么转&#xff1f;众所周知&#xff0c;MOV视频格式是由苹果公司推出的常用的视频格式&#xff0c;能够在苹果软件及设备上使用。但是&#xff0c;如果将其应用于其他软件和设备上的话&#xff0c;可能会遇到文件无法正常播放的情况。在这个时候&#xff0c;我们需…...

SSL握手协议相关概念

下图为握手协议的流程图&#xff0c;具体的解释参考博客&#xff1a; 【下】安全HTTPS-全面详解对称加密&#xff0c;非对称加密&#xff0c;数字签名&#xff0c;数字证书和HTTPS_tenfyguo的博客-CSDN博客 下面梳理一下SSL协议中的一些细节。首先是相关名词&#xff1a;证书、…...

idea 打开java项目后新建的模块中,java文件夹需要变成蓝色,以及resources文件夹变成三条杠的

idea 打开java项目后新建的模块中&#xff0c;java文件夹需要变成蓝色&#xff0c;以及resources文件夹变成三条杠的方法 再选择modules&#xff0c;找到需要变蓝的文件夹&#xff0c;点击sources即可 同理resources文件夹变成三条杠也只需要找到对应文件夹&#xff0c;点击re…...

【Docker】Docker network之bridge、host、none、container以及自定义网络的详细讲解

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…...

滑模控制器理论推导和matlab/simulink实例分享

滑模控制的运动轨迹主要分为两个方面&#xff1a;(1)系统的任意初始状态向滑模面运动阶段&#xff1b;(2)系统到达滑模面后并且慢慢趋于稳定的阶段。所以&#xff0c;对于滑模变结构控制器的设计&#xff0c;对应于系统运动的两个阶段&#xff0c;可以分为两个部分&#xff1a;…...

git 操作

git切换ssh和http协议 切换协议&#xff1a; 查看当前remote git remote -v 切换到http&#xff1a; git remote set-url https://github.com/username/repository.git 切换到ssh&#xff1a; git remote set-url gitgithub.com:username/repository.git 某些文件不想提交…...

自建hexo博客并将原有的文章发布其上

1、保存粘贴到memo9中的博客文章&#xff0c;并将txt转换成word文档 varPowerShellPath, CommandLine: string; // , ScriptPath begin//save to txtMemo9.Lines.SaveToFile(test.txt);memo10.Lines.SaveToFile(txt2word.ps1);//save as docxPowerShellPath : powershell.exe…...

【双指针_和为 s 的两个数_C++】

和为s的两个数字 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int n nums.size();int left 0;int right n-1;while(left<right){if(nums[left]nums[right]>target) right--;else if(nums[left]nums[right]<tar…...

HTML5的介绍和基本框架

目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.ht…...