oracle初级锦集

news/2024/11/17 3:37:29/

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131040299
出自【进步*于辰的博客】

如果大家想要了解oracle使用细节和经验,请查阅博文【oracle细节、经验锦集】。

文章目录

  • 1、关于`rownum`
    • 1.1 概述
    • 1.2 实用示例
  • 2、关于用户
  • 3、关于对象权限
    • 3.1 分类
    • 3.2 命令
  • 4、关于角色

1、关于rownum

参考笔记1,P18.3、P19.5。

1.1 概述

rownum虚拟字段,不真实存储,在返回结果集时生成,“宏观”作用类似序号。在每次查询时,从1开始给结果集编号。常与<<=连用。而与>>=连用时,由于rownum是在查询记录时逐个生成,并迭代。因此,若rownum的判断在第1行记录时就不满足,则无法返回记录,即未迭代,rownum始终为1,最终结果集中无任何记录,与between...and...连用时同理。
注意:
无论任何 sql语句,sql语句的执行顺序都是:from → where → group by → having → select → order by。由于rownum是伴随select生成,故与order by连用时,会导致rownum混乱(以目前我所知,仅有此原因)。

1.2 实用示例

数据表:emp(no, ..., sal)
需求:查询工资6 ~ 10名的员工的所有信息。
示例:

// 写法1
select e2.*
from (select e1.*, rownum rnfrom (select * from emp order by sal desc) e1) e2
where rn between 6 and 10// 写法2(优化)
select e2.*
from (select e1.*, rownum rnfrom (select * from emp order by sal desc) e1where rownum <= 10) e2
where rn > 5

因为order by会打乱rownum的顺序,故先执行order by,再进行rownum判断
2种写法都嵌套了3层 sql语句。
在写法1中,前2层仅对结果集进行1次排序,不做筛选,在第3层时,才进行筛选。rnrownum的别名,由于rn属于第2层的结果集,非rownum,故已固定,因此可以直接使用rn between 6 and 10筛选出第6 ~ 10名。
而在写法2中,在第2层时就进行结果集筛选,rownum初始为1,满足rownum <= 10,则返回记录,同时rownum迭代,如此反复直到条件不满足,这样就查询出前10条记录(即工资最高的前10名员工),此时rownum固定,定义别名rn。然后,第3层可以直接使用rn筛选出第6 ~ 10名。
补充说明:
写法2较写法1,效率高很多。
2种写法在第1层时,都返回根据工资降序排序后的所有员工信息。
因为写法1是在第3层才进行结果集筛选,由于条件是rn between 6 and 10,使用的是rnrn属于结果集,已固定。因此在筛选时,会遍历整个结果集(即根据工资降序排序后的所有员工信息);
而写法2,在第2层时,是通过rownum <= 10进行筛选,由于rownum生成机制(见上文),第2层仅遍历前10条记录,同时返回前10条记录(即工资最高的前10名员工)。因此,第3层仅遍历10条记录。

2、关于用户

参考笔记1,P24.19。

创建用户:

create user 用户名 identified by 密码;

修改用户配额:

alter user 用户名 quota 空间大小 on 表空间名
或:
grant unlimited tablespace to 用户名;// 无限表空间

授权:

grant 权限 to 用户 [with admin option];// []内语句的作用是:允许此用户将此权限授予其他用户

回收权限:

revoke 权限 from 用户;// 若此用户已将此权限授予其他用户,则回收权限时不会连带回收

其他命令:

alter user 用户 identified by 密码;// 修改密码

3、关于对象权限

参考笔记1,P24.20。

3.1 分类

selectdeleteinsertupdatealter(修改)、references(外链)、index(索引)、execute(执行)。

3.2 命令

授权:

grant 权限[(字段)]|all privileges[(字段)]
on [schema.]Object
to 用户|public [with grant option]

权限即上述分类;all privileges指所有对象权限;schema是用户名;Object是对象,指数据表;public指所有用户;with grant option类似with admin option
回收权限:

revoke 权限 on [schema.]Object from 用户;

4、关于角色

参考笔记1,P24.21。

create role 角色名;// 创建角色
grant 权限 to 角色;// 授权
grant 角色 to 用户;// 为用户分配角色
revoke 角色 from 用户;// 收回用户角色
revoke 权限 from 角色;// 收回权限
drop role 角色;// 删除角色

本文持续更新中。。。


http://www.ppmy.cn/news/578878.html

相关文章

有哪些适合学生党入门级蓝牙耳机?平价入门级蓝牙耳机推荐

蓝牙耳机在我们日常生活中很常见&#xff0c;可以用来听音乐&#xff0c;打电话&#xff0c;玩游戏。无论你在哪个地方&#xff0c;带上蓝牙耳机的你&#xff0c;就好像世界只属于你一个人。市面上的蓝牙耳机太多了&#xff0c;小伙伴们在挑选的时候难免会有点犯迷糊&#xff0…

打游戏用什么耳机好一点?2022年游戏蓝牙耳机推荐

一般蓝牙耳机都有延迟问题&#xff0c;偶尔听歌感受不了&#xff0c;但是在看电影或者玩游戏的话体验就不行了&#xff0c;尤其是玩需要反应灵敏的游戏时&#xff0c;动作和音质的配合&#xff0c;因此&#xff0c;多数都会选择低延迟的游戏蓝牙耳机&#xff0c;下面整理了几款…

哪款蓝牙耳机降噪效果比较强?适合当做520礼物的蓝牙耳机推荐

在喧闹的地铁上&#xff0c;忙碌了一天的打工人都希望周围安静些&#xff0c;能够好好地休息一下享受一下音乐。所以现在很多用户在选择蓝牙耳机时会优先选择降噪效果比较好好的&#xff0c;但是很多人其实不知道如何挑选降噪功能比较好的蓝牙耳机&#xff0c;作为数码发烧友今…

什么样的蓝牙耳机适合上网课?稳定性强的蓝牙耳机推荐

因为疫情的缘故&#xff0c;学校开学的日期又延后了&#xff0c;为了不影响同学们的学习进度&#xff0c;很多学校已经开始了线上课程&#xff0c;学生们都开始进入网课时期。因此&#xff0c;网课也带动了新一波的消费热潮&#xff0c;家长们都不愿意自家孩子输在起跑线&#…

什么降噪耳机便宜还好用?类似airpods pro的降噪耳机

随着主动降噪的功能快速普及&#xff0c;许多耳机也开始不打高质量开始走性价比降噪路线&#xff0c;让许多月光族和学生党可以享受到“降噪”带来的快乐&#xff0c;现在给大家分享几款降噪效果不错且性价比高的耳机吧。 第一款&#xff1a;Nank南卡Lite Pro2蓝牙耳机 参考价…

什么蓝牙耳机的佩戴舒适度好一些?佩戴舒适度高的蓝牙耳机推荐

一款戴着舒服的蓝牙耳机在提升使用体验感的同时&#xff0c;还会减少因为长久佩戴而对耳朵造成的伤害。所以在选择蓝牙耳机时&#xff0c;佩戴舒适度是一个很重要的参考因素。那么在层出不穷的蓝牙耳机市场当中&#xff0c;什么蓝牙耳机的佩戴舒适度好一些呢&#xff1f;接下来…

运动耳机买什么样的好,性价比高的蓝牙运动耳机

运动是生命的源泉&#xff0c;有许多朋友都会在运动的时候戴上一个运动耳机。因为运动时听音乐会给我们带来充足的动力&#xff0c;但是选择一款合适自己的运动耳机也是一门学问&#xff0c;今天我就来给大家推荐几款还不错的运动耳机。 1.南卡runner pro 3 骨传导蓝牙运动耳机…

运动防水防汗耳机哪个牌子好、最好的防水运动耳机排行清单

随着人们的健康观念越来越强&#xff0c;很多人都会抽出时间进行跑步。但是单纯的跑步本身是挺乏味的&#xff0c;这时候大家都会选择带上耳机&#xff0c;在跑步的同时享受音乐带来的趣味。所以市面上也随之出现了琳琅满目的运动耳机&#xff0c;大家要选择的时候往往都要纠结…