oracle数据库基础
来源:互联网 发布:淘宝翡翠手把件真假 编辑:程序博客网 时间:2024/06/05 06:01
rownum注意事项:
rownum=1可以 ,rownum<N,大于 m没有结果集。如何规避,使用子查询形成别名列。然后再外层查询该列。
rownum=3
SQL操作符:
1.算术操作符:+(加),-(减),*(乘)和/(除).
2.比较操作符:=,!=,<,>,<=,>=,BETWEEN...AND(检查是否在两个值之间),IN(与列表中的值相匹配),LIKE(匹配字符模式)和IS NULL(检查是否为空).
3.逻辑运算符:AND(与),OR(或),NOT(非).
4.集合操作符:UNION(联合):操作符返回两个查询选定的所有不重复的行.
. UNION ALL(联合所有):操作符合并两个查询选定的所有行
INTERSECT(交集):操作符只返回两个查询所有行
MINUS(减集):操作符只返回由第一个查询选定而未被第二个查询选定的行.
5.连接操作符:连接操作符(||)用于将两个或多个字符串合并成一个字符串,或者将一个字符串与一个数值合并在一起.
用户A(Scott)去访问用户B(happyy2165) 里面的student包
Oracle三大系统角色
connect
resource
dba
Oracle三大系统角色
connect
resource
dba
方案一:直接授权法
1.用happyy2165登录,之后,授权
grant select on HAPPYY2165.STUDENT to scott
2.用scott登录,用如下代码去访问Student表
select * from HAPPYY2165.student
方式二:通过角色去控制
1.自定义角色 role_testy2165 create role role_testy2165
2.将查询表的权限和角色绑定
1.用happyy2165登录,之后,授权
grant select on HAPPYY2165.STUDENT to scott
2.用scott登录,用如下代码去访问Student表
select * from HAPPYY2165.student
方式二:通过角色去控制
1.自定义角色 role_testy2165 create role role_testy2165
2.将查询表的权限和角色绑定
GRANT select on HAPPYY2165.STUDENT to role_testy2165
3.给用户分配角色
grant role_testy2165 to SCOTT
3.给用户分配角色
grant role_testy2165 to SCOTT
revoke select on HAPPYY2165.student from SCOTT 回收权限
解锁用户:(首先修改一下密码)
alter user HR identified by hr
alter user hr account unlock
删除重复数据,保留编号最大的一条数据:
DELETE FROM STUDENT WHERE stuno NOT IN
(
SELECT "MAX"(stuno) FROM STUDENT GROUP BY stuname,stuage
)
--创建一个用户
create user y2165 identified by y2165
--权限
grant connect to y2165
grant RESOURCE to y2165
--建立一张表
create table userinfo
(id number primary
ey not null)
--伪列
select id,rowid,rownum from userinfo
--查询自然排序的第三条记录
select *
from
(
select ename,rownum rn from emp
)temp
where rn=3
--通过角色控制
--自定义角色
CREATE role role_testy2165
--将查询表的权限和角色绑定
grant SELECT ON Y2165."student" TO role_testy2165
--给用户分配角色
GRANT role_testy2165 to SCOTT
--distinct查询不重复的数据
select DISTINCT "stuname","stuage" from STUDENT;
--创建学生表的备份表
create table studentbak
as
select * from STUDENT
--删除相同的列,保留id最大的
DELETE FROM student
WHERE "stuno" NOT IN(SELECT "MAX"("stuno") FROM student GROUP BY "stuname","stuage")
SELECT 1+1 FROM dual
SELECT '你'||'好' FROM dual
SELECT '运算结果'||'5' FROM dual
SELECT deptno FROM dept
INTERSECT --交集
SELECT DISTINCT deptno FROM emp
SELECT deptno FROM dept
MINUS --减集
SELECT DISTINCT deptno FROM emp
create user y2165 identified by y2165
--权限
grant connect to y2165
grant RESOURCE to y2165
--建立一张表
create table userinfo
(id number primary
ey not null)
--伪列
select id,rowid,rownum from userinfo
--查询自然排序的第三条记录
select *
from
(
select ename,rownum rn from emp
)temp
where rn=3
--通过角色控制
--自定义角色
CREATE role role_testy2165
--将查询表的权限和角色绑定
grant SELECT ON Y2165."student" TO role_testy2165
--给用户分配角色
GRANT role_testy2165 to SCOTT
--distinct查询不重复的数据
select DISTINCT "stuname","stuage" from STUDENT;
--创建学生表的备份表
create table studentbak
as
select * from STUDENT
--删除相同的列,保留id最大的
DELETE FROM student
WHERE "stuno" NOT IN(SELECT "MAX"("stuno") FROM student GROUP BY "stuname","stuage")
SELECT 1+1 FROM dual
SELECT '你'||'好' FROM dual
SELECT '运算结果'||'5' FROM dual
SELECT deptno FROM dept
INTERSECT --交集
SELECT DISTINCT deptno FROM emp
SELECT deptno FROM dept
MINUS --减集
SELECT DISTINCT deptno FROM emp
阅读全文
0 0
- 【Oracle数据库】Oracle数据库基础
- oracle数据库优化基础
- ORACLE数据库基础
- oracle 数据库 基础
- oracle数据库基础学习
- 第一章Oracle数据库基础
- Oracle数据库基础介绍
- Oracle数据库基础
- 数据库--基础--Oracle
- oracle 数据库基础
- oracle 数据库管理基础
- Oracle数据库基础
- Oracle数据库迁移-基础
- Oracle数据库基础
- Oracle数据库基础
- Oracle数据库基础(一)
- Oracle数据库基础
- Oracle数据库迁移-基础
- 逆向工程的Example类用法
- HDU 2222 Keywords Search (AC自动机模板题)
- 文章标题
- bwboundaries函数使用--标记不同的区域
- 第三周周中总结
- oracle数据库基础
- Fiddler抓包手机APP数据,wireshark,charles
- Python09_进程与线程
- 应用层-4、Email应用
- MVC模式实现(下)
- PAT (Advanced) 1013. Battle Over Cities (25)
- poj3463 Sightseeing(读题很重要)
- Java-集合(list接口)
- 最小排序(美团点评)