Oracle数据库笔记整理

简介: Oracle数据库函数大小写转换SELECT ename, LOWER(ename) FROM emp;SELECT ename, UPPER(ename) FROM emp;截取SELECT ename, SUBSTR(ename,1,2) FROM emp;四舍五入SELECT ROUND(3.

Oracle数据库

函数

大小写转换

SELECT ename, LOWER(ename) FROM emp;
SELECT ename, UPPER(ename) FROM emp;
AI 代码解读

截取

SELECT ename, SUBSTR(ename,1,2) FROM emp;
AI 代码解读

四舍五入

SELECT ROUND(3.54159) FROM dual;
SELECT ROUND(3.14159,3) FROM dual;
AI 代码解读

日期转字符

SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd HH:mi:ss') FROM dual;
SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd HH24:mi:ss') FROM dual;
AI 代码解读

字符格式转换

SELECT TO_CHAR(sal, '99,999.9999') FROM emp;
AI 代码解读

字符转日期

SELECT TO_DATE('2019-06-11 15:08:00','yyyy-MM-dd HH24:mi:ss') FROM dual;
AI 代码解读

解决NULL空值问题

SELECT ename, NVL(comm,0) FROM emp;
AI 代码解读

表连接

  • 左连接:left join,返回左表中所有的数据和右表中满足条件的数据
  • 右连接:right join,返回右表中所有的数据和左表中满足条件的数据
  • 内连接:inner join,返回左表和右表同时满足条件的数据

分页

在MySQL分页LIMIT,在ORACLE不支持LIMIT,引入ROWNUM伪列
如:查询某表前5条数据

SELECT * FROM 表名 WHERE ROWNUM <=5;
AI 代码解读

但是ROWNUM不支持> >= =,故需要使用子查询实现查询。
如:

SELECT ename, deptno
FROM (SELECT ename, deptno, rownum AS rn FROM emp) t 
WHERE t.rn > 10
AI 代码解读

视图

视图就当做一张虚标,数据来源于真实的表。

创建视图语法:

CREATE VIEW  视图名
AS  SQL语句;
AI 代码解读

视图需要创建视图权限,登陆管理员账号执行授权命令

GRANT CREATE TABLE, CREATE VIEW TO scott;
AI 代码解读

数据字典

表、索引、视图等信息储存在ORACLE数据库的表中,这些表称为数据字典。

序列

自增长

  • MySQL:auto_increment
  • ORACLE:不支持auto_increment

实现自增长原理

获取当前的id,自增1 id++,作为下一条数据的id插入。
id为主键,id实现自增长。

创建序列语法:

CREATE SEQUENCE 序列名;
AI 代码解读

序列本身是一个对象,有两个属性。每次调用nextval,会自增长1个

例子:
建表

CREATE TABLE weibo(
    id NUMBER PRIMARY KEY,
    user_id VARCHAR2(20),
    content VARCHAR2(1024),
    count NUMBER
);
AI 代码解读

建序列

CREATE SEQUENCE seq_weibo;
AI 代码解读

怼数据

INSERT INTO weibo(id, user_id, content, count)
VALUES (seq_weibo.nextval, 'admin', '21213131ea', 1);
INSERT INTO weibo(id, user_id, content, count)
VALUES (seq_weibo.nextval, 'admin', '21213131ea', 1);
AI 代码解读

观察id,每次调用nextval会自增长1个。

SELECT * FROM weibo;
AI 代码解读

索引

目的:为了加快查询效率

创建主键时,会默认创建一个主键的索引。查询索引字段效率高,非索引字段默认全表扫描。

单字段创建索引

CREATE INDEX 索引名
ON 表名(字段名)
AI 代码解读

例:

CREATE INDEX index_user_gameid
ON t_user_fee(gameid);
AI 代码解读

多字段创建索引

CREATE INDEX 索引名
ON 表名(字段1, 字段2, ...)
AI 代码解读

例:

CREATE INDEX index_user_gameid_msisdn
ON t_user_fee(msisdn, gameid);
AI 代码解读

注意: 一旦给索引的字段添加了函数,则该索引失效。

目录
打赏
0
0
0
0
841
分享
相关文章
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
215 28
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
78 10
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
484 64
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
【赵渝强老师】Oracle数据库的客户端工具
本文介绍了Oracle数据库的三种客户端工具:SQL*Plus、Oracle Enterprise Manager Database Express(EM)和SQL Developer的使用方法。首先通过命令行工具SQL*Plus登录数据库,创建用户并授权,建立部门与员工表,插入数据并查询;接着讲解了如何通过浏览器访问EM界面监控数据库及表空间状态;最后演示了SQL Developer的下载安装、连接配置以及执行查询的过程,帮助用户快速上手Oracle数据库管理与操作。
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
246 11

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等