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)
🌻🌻 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型:1.1.2 字符串类型: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 的账号与群组使用者标识符: UID 与 GID使用者账号/etc/passwd 文件结构/etc/shadow 文件结构 关于群组: 有效与初始群组、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常见元字符(支持的工具:find,grep,egrep,sed和awk&…...

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

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

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

机器学习丨1. 机器学习概述
Author:AXYZdong 硕士在读 工科男 有一点思考,有一点想法,有一点理性! 定个小小目标,努力成为习惯!在最美的年华遇见更好的自己! CSDNAXYZdong,CSDN首发,AXYZdong原创 唯…...

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

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

力扣:63. 不同路径 II(Python3)
题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从…...

【C语言】每日一题(多数元素)
多数元素,链接奉上 方法 1.摩尔投票2.合理但错误的方法2.1暴力循环2.2排序求出中间元素中间元素 1.摩尔投票 先来简单的介绍摩尔投票: 摩尔投票是一种用来解决绝对众数问题的算法。 什么是绝对众数呢? 在一个集合中,如果一个元素…...
后端 .net7 Minimal API 限流中间件(微信小程序无师自通十)
我的微信小程序使用.net7 Minimal API 作为后端,当服务器摆上公网后,可以观察到很多的攻击行为和暴力访问。所以,我需要使用微软的限流中间件部署相应的功能在服务器上 关键字: AddFixedWindowLimiter using Microsoft.AspNetCo…...
背上沉重的书包准备面试之react篇
目录 react特性? react生命周期? state和props区别 react中setState执行机制? 在react类组件形式中,setState第二个参数的作用? react事件机制? react事件绑定方式有哪些? react组件之间…...

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

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

npm install 中 --save 和 --save-dev 是什么?
npm,全名 Node Package Manager,套件管理工具,package.json 会记下你在项目中安装的所有套件。 假设在项目中安装 lodash npm i --save lodash这样在 dependencies 中会出现: 如果修改了导入方式: npm i --save-dev …...

【Nginx17】Nginx学习:目录索引、字符集与浏览器判断模块
Nginx学习:目录索引、字符集与浏览器判断模块 今天要学习的内容有几个还是大家比较常见的,所以学习起来也不会特别费劲。对于目录的默认页设置大家都不会陌生,字符集的设置也比较常见,而浏览器的判断这一块,可能有同学…...
CA/TA开发编程实战-视频课程
Hello大家好,上架一门新的视频课程,课程主要包含两大部分,第一部分搭建环境,第二部分从无到有的编写代码。带领大家"手把手"编写。 具体大纲如下: qemu v8环境搭建 搭建一个qemu_v8的环境,用于…...

(7)(7.1) 使用航点和事件规划任务
文章目录 前言 7.1.1 设置Home位置 7.1.2 视频:制作并保存多路点任务 7.1.3 视频:加载已保存的多航点任务 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 任务再出发 …...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...