oracle数据库课程笔记,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.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);

复制代码

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值