自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 Springboot项目分层介绍

Springboot 项目分层介绍

2022-10-26 19:40:32 788 1

原创 Oracle 监听文件详解(tnsnames.ora)

文章目录 1 概述2 示例3 扩展 1 概述 1. 作用 (1) 配置客户端连接 Oracle 时配置的参数信息,如:主机ip,端口等 (2) 配置后,可 '简化并隐藏' 参数信息,如下图所示2. tns:Transparent Network Substrate(透明网络底层) (1) 无论底层的网络层用什么协议对于上层的应用层都是 '透明的' (2) 即说上层的应用层 '不用关心' 底层的网络层使用了什么协议 (3) 即上层的应用层使用的统一调用接口已经 '..

2021-09-24 09:01:09 2145

原创 Oracle 临时表详解(temporary table)

文章目录 1 概述2 分类2.1 事务级临时表2.2 会话级临时表 1 概述 1. 作用:用来 '临时' 存储数据 (1) 当一个事务或会话结束的时候,这个临时表中的 '数据' 会被数据库自动清空 (2) 但 '表结构' 依旧保留 2. 分类: '生命周期的不同' (1) 事务级临时表: on commit delete rows; commit 时 '删除' 记录(默认) (2) 会话级临时表: on commit preserve rows; comm..

2021-09-24 09:00:58 1048

原创 Oracle 访问远程数据库详解(dblink)

文章目录 1 概述2 管理2.1 创建2.2 查询2.3 删除 1 概述 1. 结论 (1) dblink(database link):数据库连接 (2) 允许 '数据库A' 远程访问到 '数据库B' 中的对象(如:表、存储过程等等) 3. 用法 (1) select * from scott.emp@dblink_name;4. 分类 (1) private: 私有(默认),仅当前用户可访问 (2) public : 公有,所有用户均可访问,属主是..

2021-09-24 09:00:45 1126

原创 Oracle dump() 详解

文章目录 1 概述2 语法3 扩展3.1 Typ 类型3.2 chr()、ascii() 1 概述 dump: 字面意思 '转储' -> '数据类型' 在计算机中存储的形式(ascii 码) 2 语法 Oracle 12c 官方文档 - dump() dump(expr[,return_format [,start_position[, length]]])expr: 要分析的表达式return_format: 返回值的格式 (1) 8 : 八进制符号 (2)..

2021-09-24 09:00:27 1579

原创 Oracle 数据类型转换详解(显示 + 隐式)

文章目录 1 概述2 显式转换2.1 to_char2.2 to_date2.3 to_number 3 隐式转换 1 概述 1. Oracle 的类型转换分为 '自动类型转换(隐式)' 和 '强制类型转换(显式)'2. 应尽量避免 '隐式' 转换,尤其在 '索引列' 上 2 显式转换 2.1 to_char 功能:将 '数值类型' 或 '日期类型' 转为 '字符类型'返回值类型:varchar2 -- to_char( + F6 提示 或 dump() 函数均可验证特别..

2021-09-24 09:00:12 796

原创 Oracle 截断函数详解(trim、ltrim、rtrim)

文章目录 1 概述2 语法3 扩展 1 概述 1. 区别: '截断(删除)的位置不同、指定字符个数不同' (1) trim() :截断 '左、右' 两边出现的任何指定字符,最多只能指定 '一个字符' (2) ltrim():截断 '左' 边出现的任何指定字符,可指定 '多个字符' (3) rtrim():截断 '右' 边出现的任何指定字符,可指定 '多个字符' -- 若无给定字符,默认 '空格' 2. 不足:'无法截断(删除)中间位置的字符',可通过其它替代方案..

2021-09-24 08:59:58 2374 1

原创 Oracle 创建用户详解(create user)

文章目录 1 概述2 操作2.1 创建3.2 查询 3 表空间 1 概述 1. 实际开发中,不同业务系统使用 '不同的用户',方便管理2. 创建用户时,建议 '指定表空间',否则全部默认 'users'('表空间容易过大,不易维护,不利于查询') 2 操作 2.1 创建 create user <username> identified by <password>;-- 默认 user 表空间(不推荐)create user <username&..

2021-09-24 08:59:47 7774

原创 Oracle 数据块详解(block)

文章目录 1 概述2 组成3 示例附件 - 数据块结构信息 1 概述 1. 作用 (1) 屏蔽了不同 '操作系统(Windows、Linux、Unix)的差异',全部数据操作采用对 Oracle 块的操作2. 特性 (1) 数据块 'block' 是 Oracle '最小的存储单元',也是 '最小的 I/O 单元' (2) 目前有五种大小:2KB、4KB、8KB(默认)、16KB、32KB -- 必须是倍数增加 (3) 不可更改,除非重新创建数据库 ..

2021-09-24 08:59:35 2412

原创 Oracle 添加主键、外键约束详解(primary key,foreign key)

文章目录 1 主键约束2 外键约束 1 主键约束 方式1:(推荐:简单、明了、建表时创建) create table scott.sex ( sex_code varchar2(2) constraint pk_sex_sex_code primary key, description varchar2(10));-- 复合主键create table scott.sex2 ( sex_code varchar2(2), description va..

2021-09-24 08:59:24 3496

转载 Oracle 高效删除重复数据(rowid)

文章目录 1 删除语句2 基础数据 1 删除语句 delete from scott.stu_info a where a.rowid > (select min(b.rowid) from scott.stu_info b where b.sno = a.sno); 2 基础数据 create table scott.stu_info ( sno number(3), sname..

2021-09-24 08:58:53 377

原创 Oracle rownum、rowid 详解

文章目录 1 概述2 详解2.1 rownum2.2 rowid 3 扩展 - 常用操作 1 概述 1. 异同点 (1) 相同点:都是 '伪列' -- Oracle 自动加上去的,无法人为操作 (2) 不同点:rowid 记录的物理地址,相对不变, rownum 记录的编号,会变化,尤其是使用 order by 的时候2. rownum:某条记录的编号 -- row num = 行编号 (1) "编号总是从 1 开始" :se..

2021-09-24 08:58:40 820

原创 Oracle 定时任务详解(dbms_scheduler)

文章目录 1 概述1.1 思维导图 2 语法2.1 核心三要素2.1.1 program 程序2.1.2 schedule 计划表2.1.3 job 工作 2.2 核心属性2.2.1 type、action2.2.2 repeat_interval 3 示例3.1 创建带参数的过程 job3.2 创建无日志 job 1 概述 1. dbms_scheduler 包概念: "分而治之" (1) 替代了之前的 dbms_job 包,功能更加强大,可以将 job 需要的..

2021-09-24 08:58:28 2746

原创 Oracle 查询数据字典详解(dictionary)

文章目录 1 概述2 结论 1 概述 1. 场景:记不得某数据字典的全称 或 想找找有没有对应的 数据字典 ←_←2. 权限: 查询的是 '当前用户' 下能够访问的数据字典 也就是说,'当前用户' 权限越高,能看到的数据字典越多 -- 建议用权限高的用户查询,如:system 2 结论 -- 如:查询 表或视图备注信息的 数据字典 SELECT d.* FROM dictionary d WHERE d.table_name LIKE UPP..

2021-09-24 08:58:11 1308

原创 Oracle 体系结构之内存结构详解(SGA、PGA)

文章目录 1 概述1.1 体系结构图示 2 分类2.1 系统全局区 SGA2.2 程序全局区 PGA 1 概述 1. 区别 (1) 系统全局区 SGA(System Global Area) : 由所有服务进程和后台进程 '共享' (2) 程序全局区 PGA(Program Global Area): 由每个服务进程和后台进程 '独享' -- 每个进程都有一个 PGA2. 说明:理论内容太多,后续遇到考点,再来补充 扩展:Oracle 体系结构详解 1.1 体系结构..

2021-09-23 09:03:38 374

原创 Oracle 体系结构之进程结构详解(客户进程、服务器进程、后台进程)

文章目录 1 概述2 分类2.1 客户进程 和 服务器进程2.2 后台进程2.2.1 进程监控组 PMON2.2.2 系统监控 SMON2.2.3 数据库写进程 DBW2.2.4 日志写进程 LGWR2.2.5 检查点进程 CKPT 1 概述 1. 使用进程的目的 (1) 进程是操作系统中的一种 '机制',它可以运行一系列步骤 (2) 也就是说: '进程 -> 能够让程序跑起来' 2. 三种进程结构 (1) 客户进程 : Client Process ..

2021-09-23 09:03:24 976

原创 Oracle 范式详解(3NF)

文章目录 1 概述2 范式类型2.1 第一范式 1NF2.2 第二范式 2NF2.3 第三范式 3NF 3 扩展3.1 BC 范式 1 概述 1. 范式 (1) 关系型数据库中,需设计不同的规范,称之为 '范式' (2) 越高的范式,数据库冗余 '越小'2. 实际开发中,只需考虑满足 '3NF' 即可 (1) 没有冗余的数据库 '未必' 是最好的数据库 (2) 有时为了提高 '运行效率',就必须降低范式标准,适当保留冗余数据 2 范式类型 范式类型简称特..

2021-09-23 09:03:10 253

原创 Oracle 集合操作详解(并集 union、交集 intersect、差集 minus)

文章目录 1 概述2 示例 1 概述 1. Oracle 中有三种集合操作 (1) 并集 union all -- 不去重,不排序,效率高 union -- 去重,默认排序,效率低 (2) 交集 intersect (3) 差集 minus2. 注意事项 (1) 各个列的 '数据类型' 必须对应,保持一致 -- 否则会报错提示 查询结果集图示:(红色区域) 集合类型关键字描述并集union allunion交集inter..

2021-09-23 09:02:51 1875

原创 Oracle 数据仓库概念详解

文章目录 1 概述1.1 整体图示 2 数据仓库模型2.1 建模思路2.2 模型选择 3 数据仓储基本元素3.1 模型:星型&雪花型3.2 事实表:索引 + 数据3.3 维度 1 概述 1. 数据仓库:'面向主题'、'集成'、'相对稳定'、'反映历史变化' 的数据集合,用以支持经管理中的决策过程 (1) 面向主题:关注的是决策支持者的数据建模与分析,而不是针对日常数据操作和事务的处理, 因此数据仓库提供了特定主题的简明视图,排除了对于决策..

2021-09-23 09:02:33 1214

原创 Oracle 按位与运算详解(bitand 函数)

文章目录 1 概述2 语法 1 概述 1. bitand = bit + and,也就是 '按位与' 运算(二进制) 2 语法 bitand(exp1, exp2) return number功能:exp1 和 exp2 的相应位进行比较,'全 1 为 1,否则为 0'exp1 exp2 结果0 0 00 1 01 0 01 1 1 示例:将 5 和 6 按位与 运算 5 = 1 0 16 = 1 1 0select bitand(5, 6) fro..

2021-09-23 09:02:18 1181

原创 Oracle 笔试面试题详解

文章目录 1 概述2 笔试2.1 选择题2.2 填空题2.3 简答题2.4 编码题 3 面试 1 概述 1. 笔试、面试常考题(题目来源于网络及工作中的自我总结,欢迎补充)2. 随时更新,相关知识点,会在本人博客中详细说明(搜索关键字)3. 最后,愿大家都能找到心仪的工作 ^_^ 2 笔试 2.1 选择题 1. 下面哪个用户不是 Oracle 缺省安装后就存在的用户?('A') A.SYSDBA B.SYSTEM C.SCOTT D.SYS ..

2021-09-23 09:01:59 343

原创 Oracle sql 语句分类详解

文章目录 1 概述 1 概述 通过所使用的 '功能不同',sql 语句有以下分类1. 数据 '定义' 语言(DDL:Date Definition Language) (1) 用来 '创建、修改、删除' 数据库 '对象' (2) create、alter、drop、truncate2. 数据 '操作' 语言(DML:Date Manipulation Language) (1) 用来 '添加、修改、删除' 数据库中的 '数据' (2) insert、update、d..

2021-09-23 09:01:42 160

原创 Oracle 约束详解(constraint)

文章目录 1 概述2 约束管理2.1 约束命名规范2.2 约束信息查询2.3 添加约束2.4 删除约束2.5 重命名约束2.6 禁用启用约束 3 约束分类3.1 主键约束 P3.2 外键约束 R3.3 唯一约束 U3.4 检查约束 C3.4 非空约束 1 概述 1. 约束的作用 (1) 录入 '规范' 的数据 (2) '定义规则',对数据库中数据进行限制,确保数据正确性、有效性、完整性 2 约束管理 2.1 约束命名规范 1. 默认命名:SYS_Cn(n 为正整数)..

2021-09-23 09:01:25 2159

原创 Oracle redo 和 undo 详解

文章目录 1 概述2 区别2.1 redo 重做2.2 undo 撤销 1 概述 1. 'redo':重做 (1) 重新执行之前的操作('防止数据丢失') (2) 通俗理解:'没搞成,重搞一遍'2. 'undo':撤销 (1) 取消之前的操作('防止数据不一致') (2) 通俗理解:'搞了后悔,之前不算' 2 区别 redoundoRecord ofHow to reproduce a changeHow to undo a changeUsed ofRol..

2021-09-23 09:00:58 308

原创 Oracle 创建表详解(create table)

文章目录 1 概述2 语法2.1 创建表 create table2.2 修改表 alter table2.3 删除表 drop table2.4 清空表 truncate table2.5 查询表、列、备注信息 3 扩展3.1 Oracle 范式详解(3NF)3.2 Oracle 约束详解(constraints) 1 概述 1. 表:用于 '存储数据' -- 是我们最常见的数据库对象2. 表设计注意事项 (1) 表设计时,尽量遵从 '第三范式(3NF)' (2) 名称..

2021-09-23 09:00:33 56164

原创 cmd 运行 Oracle 详解(sqlplus)

文章目录 1 概述2 步骤2.1 打开运行窗口:win + r 并输入 cmd2.2 输入账号密码:账号/密码@数据库 1 概述 效果同直接使用 SQL plus 工具 2 步骤 2.1 打开运行窗口:win + r 并输入 cmd 2.2 输入账号密码:账号/密码@数据库 > sqlplus 账号/密码@数据库>> sqlplus /nolog -- 无日志登录:避免别人从日志中查询到登录信息> sqlplus soctt/soctt@orcl..

2021-09-23 09:00:14 757

原创 Oracle 分组排序函数详解 (row_number、rank、dense_rank)

文章目录 1 概述2 分类2.1 排序函数2.2 分组子句 1 概述 1. 完整格式 (1) row_number() over(partition by 列1 order by 列2) 2. 三种排序函数 (1) row_number(): '连续' 排序,如:1 2 3 4 (2) rank() : '跳跃' 排序,如:1 2 2 4 (3) dense_rank(): '密集' 排序,如:1 2 2 33. 分组子句 (1) partit..

2021-09-23 08:59:53 1967

原创 Oracle pctfree 和 pctused 详解

文章目录 1 概述2 管理2.1 查询 pctfree 和 pctused 大小2.2 表空间:assm(自动段空间管理) 3 扩展3.1 行链接 row chaining3.2 行迁移 row migrating 1 概述 1. 说明 (1) pctfree 和 pctused 是 create table 时设置的参数 -- 可在创建表时指定,也可在创建表后修改,但请注意,修改后的值,仅对修改后的数据有影响 (2) 在 Oracle 11g 中,表空间默认使用 ..

2021-09-23 08:59:24 1937

原创 Oracle 逐行累计求和函数 sum() over()

文章目录 1 概述2 示例3 扩展3.1 最大值和最小值 1 概述 1. 需求简述:每列 '追加' 所有前列的值 column => new column v1 v1 v2 v1 + v2 v3 v1 + v2 + v3 ... ... vn v1 + v2 + v3 + ... + vn 2. 解决办法 sum(列1) ..

2021-09-23 08:58:48 621

原创 Oracle keep() 详解

文章目录 1 概述2 示例 1 概述 1. kee() 和 一般分析函数 的区别 (1) 聚合函数 + over(): 一行一条记录 -- 一般分析函数 (2) 聚合函数 + keep() + over(): '分组'2. 语法格式 max|min(列1) keep(dense_rank first|last order by 列2) -- 必选 over(partition by 列3) -- 可选 -- dense_rank first 取第一条,last ..

2021-09-23 08:58:31 2059

原创 Oracle 行链接 和 行迁移 详解

文章目录 1 概述2 详解2.1 行链接 row chaining2.2 行迁移 row migrating 3 扩展3.1 迁移查询3.2 pfctree 和 pctused3.3 block 1 概述 1. 出现场景 当一行的 '数据过长' 而不能存储在单个 '数据块' 中时,就可能出现两种情况: 行链接(Row Chaining) 或 行迁移(Row Migration)2. 区别 (1) 行链接:发生在 insert 阶段 (2) 行迁移:发生在 u..

2021-09-23 08:57:58 266

原创 Oracle 多行显示在一行详解(listagg)

文章目录 1 概述2 方法2.1 listagg() 3 扩展3.1 listagg() 中的子字符串去重3.2 wm_concat() 1 概述 1. 多行显示在一行常用方法 listagg() (1) listagg(列名1, '分隔符') within group(order by 列名2) -- 分组函数 (2) + over(partition by 列3) -- 追加该子句 = 一般函数 2. 说明 (1) '分隔符' ..

2021-09-23 08:57:38 3276

原创 Oracle 命令行结果集导出或打印详解(spool 命令)

文章目录 1 概述2 语法3 实例 1 概述 1. 目的:"命令行结果集导出至文件 或 打印"2. 注意:spool 是 sql*plus 的命令 -- 不是标准 sql 语法 2 语法 spool[file_name [create | replace | append] off | out] 参数解释: 1. file_name: 保存查询结果集的 '路径 和 文件名' (1) 如:"D:\Oracle\a.txt" 2. 创建文件 -- ..

2021-09-23 08:55:49 1512

原创 Oracle 导入、导出详解(impdp、expdp)

文章目录 1 概述2 示例2.1 前提:创建 directory 对象2.2 导出 expdp2.3 导入 impdp 3 扩展3.1 expdp / exp 和 impdp / imp 的区别3.2 ORA-39070: 无法打开日志文件 1 概述 1. 导出:expdp(export dump):读取数据库并将结果集写入到 '导出转储文件'(Export Dump File)的二进制文件中 导入:impdp(import dump):读取上述二进制文件并写入到数据库2. 注..

2021-09-23 08:55:27 5038

原创 Oracle 视图传参详解(通过 全局变量 实现)

文章目录 1 结论2 查询演示3 源码3.1 创建 view3.2 创建 package3.3 emp 表 1 结论 通过 package 中的 '全局变量' 来实现(1) 设置 set()(2) 获取 get() 2 查询演示 -- 查询 聘用日期范围 内的员工信息select * from scott.vw_emp t where scott.pkg_view_param.set_start_date('1980-12-17') = 'OK' and scott..

2021-09-22 09:28:21 2221

原创 Oracle 表分区详解(partition table)

文章目录 1 概述1.1 思维导图 2 分类2.1 传统表分区2.1.1 范围分区 range2.1.2 列表分区 list2.1.3 哈希分区 hash2.1.4 复合分区 range + list or hash 2.2 11g 新特性分区2.1.1 引用分区 reference2.1.2 间隔分区 interval2.1.3 虚拟列分区 virtual2.1.4 系统分区 system 3 管理3.1 表分区3.2 表空间 1 概述 1. 目的:提高大表的查询效率..

2021-09-22 09:26:18 10057

原创 Oracle 日期时间函数 NumToYMInterval()、NumToDSInterval() 详解

文章目录 1 结论2 详解2.1 日期间隔 NumToYMInterval()2.2 时间间隔 NumToDSInterval() 3 扩展 1 结论 日期间隔函数 'NumToYMInterval()',间隔周期 YEAR 年,MONTH 月时间间隔函数 'NumToDSInterval()',间隔周期 DAY 天,HOUR 小时,MINUTE 分钟,SECOND 秒 2 详解 2.1 日期间隔 NumToYMInterval() 语法: NumToYMInterval(n,..

2021-09-22 09:20:57 595 1

原创 Oracle 存储过程详解(procedure)

文章目录 1 概述2 语法2.1 创建2.2 调用2.3 修改、删除 3 Debug 1 概述 1. 存储过程是什么:事先经过编译并存储在数据库中的一套 sql 语句2. 存储过程的优点 (1) 提高 sql 执行效率 :'预编译' 后存储于内存中,故使用时,无需再次编译 (2) 减少 '网络流量(I/0)':减少 sql 与服务器之间的上下文交换 (3) 提高系统的 '安全性' :减少 sql 注入的危险、权限控制3. 存储过程的缺点 (1) 增加数据库..

2021-09-22 09:19:22 2293

原创 Oracle sys 和 system 用户、sysdba 和 sysopr 身份认证及 dba 角色权限的区别

文章目录 1 结论2 详解2.1 sys 和 system 用户区别2.2 sysdba 和 sysopr 身份认证区别2.3 dba 角色权限 3 扩展 1 结论 1. sys 和 system 都是 Oracle '内置用户' 但 sys ('超级用户') 的权限远大于 system ('一般管理员') 2. sysdba 和 sysopr 是 'sys' 用户登录时 '用户身份验证' 的方式 3. dba 是 Oracle 的 '角色权限' 2 详解 2.1 ..

2021-09-22 09:17:16 2060

原创 Oracle case when 详解

文章目录 1 概述2 示例: when 执行顺序3 ORA-06592: 执行 CASE 语句时未找到 CASE 1 概述 1. case when:条件判断语句 (1) 相当于其它语言中的 if else (2) 部分情况下,等同于 decode()2. case when 表达式用两种形式 -- 简单 case 函数,要求:when 对象的类型 和 case 对象的类型一致 -- 此时等同于 decode(sex, '1', '男', '2', '女') ca..

2021-09-22 09:15:36 10921

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除