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;

截取

SELECT ename, SUBSTR(ename,1,2) FROM emp;

四舍五入

SELECT ROUND(3.54159) FROM dual;
SELECT ROUND(3.14159,3) FROM dual;

日期转字符

SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd HH:mi:ss') FROM dual;
SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd HH24:mi:ss') FROM dual;

字符格式转换

SELECT TO_CHAR(sal, '99,999.9999') FROM emp;

字符转日期

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

解决NULL空值问题

SELECT ename, NVL(comm,0) FROM emp;

表连接

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

分页

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

SELECT * FROM 表名 WHERE ROWNUM <=5;

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

SELECT ename, deptno
FROM (SELECT ename, deptno, rownum AS rn FROM emp) t 
WHERE t.rn > 10

视图

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

创建视图语法:

CREATE VIEW  视图名
AS  SQL语句;

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

GRANT CREATE TABLE, CREATE VIEW TO scott;

数据字典

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

序列

自增长

  • MySQL:auto_increment
  • ORACLE:不支持auto_increment

实现自增长原理

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

创建序列语法:

CREATE SEQUENCE 序列名;

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

例子:
建表

CREATE TABLE weibo(
    id NUMBER PRIMARY KEY,
    user_id VARCHAR2(20),
    content VARCHAR2(1024),
    count NUMBER
);

建序列

CREATE SEQUENCE seq_weibo;

怼数据

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);

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

SELECT * FROM weibo;

索引

目的:为了加快查询效率

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

单字段创建索引

CREATE INDEX 索引名
ON 表名(字段名)

例:

CREATE INDEX index_user_gameid
ON t_user_fee(gameid);

多字段创建索引

CREATE INDEX 索引名
ON 表名(字段1, 字段2, ...)

例:

CREATE INDEX index_user_gameid_msisdn
ON t_user_fee(msisdn, gameid);

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

相关文章
|
6天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
23 0
|
13天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
17天前
|
Oracle 网络协议 关系型数据库
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
|
17天前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
17天前
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。
|
5天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
5天前
|
SQL 关系型数据库 MySQL
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
|
5天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型
|
6天前
|
关系型数据库 MySQL 数据库
Docker数据库Mysql
Docker数据库Mysql
|
6天前
|
存储 SQL 关系型数据库
mysql查询数据库表大小怎么操作
mysql查询数据库表大小怎么操作

推荐镜像

更多