Oracle 常用SQL语句(5)

2019-03-22 09:05

DEPTNO COUNT(*) SUM(SAL) 20 5 10875 30 6 9400

67.ORDER BY 用于对查询到的结果进行排序输出

SQL> select deptno,ename,sal from scott.emp order by deptno,sal desc; DEPTNO ENAME SAL 10 KING 5000 10 CLARK 2450 10 MILLER 1300 20 SCOTT 3000 20 FORD 3000 20 JONES 2975 20 ADAMS 1100 20 SMITH 800 30 BLAKE 2850 30 ALLEN 1600 30 TURNER 1500 30 WARD 1250 30 MARTIN 1250

30 JAMES 950

常用SQL语句总结

1.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找到下面的语句恢复到了1个小时之前的数据!很简单。 注意使用管理员登录系统:

select * from 表名 as of timestamp sysdate-1/12 //查询两个小时前的某表数据!既然两小时以前的数据都得到了,继续怎么做,知道了吧。。 drop table 表名;

数据库误删除表之后恢复:( 绝对ok,我就做过这样的事情,汗 )不过要记得删除了哪些表名。

flashback table 表名 to before drop; 2.查询得到当前数据库中锁,以及解锁:

查锁

SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK', NULL) LOCK_LEVEL,

o.owner,o.object_name,o.object_type,

s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser FROM v$session s,v$lock l,dba_objects o WHERE l.sid = s.sid

AND l.id1 = o.object_id(+) AND s.username is NOT NULL;

解锁

alter system kill session 'sid,serial';

如果解不了。直接倒os下kill进程kill -9 spid 3.关于查询数据库用户,权限的相关语句:

Sql代码

1.查看所有用户:

1. select * from dba_user; 2. select * from all_users; 3. select * from user_users; 4. 5.

2.查看用户系统权限:

6. select * from dba_sys_privs; 7. select * from all_sys_privs; 8. select * from user_sys_privs;

3.查看用户对象权限:

9. select * from dba_tab_privs; 10.select * from all_tab_privs; 11.select * from user_tab_privs;

4.查看所有角色:

12.select * from dba_roles;

5.查看用户所拥有的角色:

13.select * from dba_role_privs; 14.select * from user_role_privs;

4.几个经常用到的oracle视图:注意表名使用大写....................

1. 查询oracle中所有用户信息

select * from dba_user;

2. 只查询用户和密码

select username,password from dba_users;

3. 查询当前用户信息

select * from dba_ustats;

4. 查询用户可以访问的视图文本

select * from dba_varrays;

5. 查询数据库中所有视图的文本

select * from dba_views;

6.查询全部索引

select * from user_indexes;

7.查询全部表格

select * from user_tables;

8.查询全部约束

select * from user_constraints;

9.查询全部对象

select * from user_objects;

5.查看当前数据库中正在执行的语句,然后可以继续做很多很多事情,例如查询执行计划等等

(1).查看相关进程在数据库中的会话

1. Select a.sid,a.serial#,a.program, a.status , 2. substr(a.machine,1,20), a.terminal,b.spid

3. from v$session a, v$process b 4. where a.paddr=b.addr 5. and b.spid = &spid; 6.

(2).查看数据库中被锁住的对象和相关会话

7. select a.sid,a.serial#,a.username,a.program, 8. c.owner, c.object_name

9. from v$session a, v$locked_object b, all_objects

c

10. where a.sid=b.session_id and 11. c.object_id = b.object_id; 12.

(3).查看相关会话正在执行的SQL

13. select sql_text from v$sqlarea where address =

14. ( select sql_address from v$session where sid =

&sid );

6.查询表的结构:表名大写!!

select t.COLUMN_NAME, t.DATA_TYPE,

nvl(t.DATA_PRECISION, t.DATA_LENGTH), nvl(T.DATA_SCALE, 0), c.comments

from all_tab_columns t, user_col_comments c whEre t.TABLE_NAME = c.table_name and t.COLUMN_NAME = c.column_name

and t.TABLE_NAME = UPPER('OM_EMPLOYEE_T') order by t.COLUMN_ID


Oracle 常用SQL语句(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:暖通空调CAD技术及相关软件的开发

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: