您的位置:首页 > 数据库 > Oracle

Oracle进阶之你可能会用到的命令(一)

2016-09-25 22:17 239 查看
    不管你天天使用Oracle还是刚接触Oracle,下面的这些命令或许在你忘记了的时候能帮忙快速找回来。

1. 查看当前用户

   show user;

2. 去掉重复记录的关键词

   distinct

3. 字符串拼接连接符

   ||

4. 录屏

   spool 路径

   spool off

5. 查看参数设置

   select * from v$nls_parameters;

6. 排序空值放最后边

   nulls last

7. 格式化时间

   to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')

8. 通用函数

   nvl(a,b),当a为null时,返回b,

   nvl2(a,b,c) 当a=null的时候,返回c;否则返回b

   nullif(a,b) 当a=b的时候,返回null;否则返回a

   coalesce(a,b,c..) 从左到右 找到第一个不为null的值

9. case表达式

   case (列名) when ... then ...
when ... then ...
else ... 

   end;

10. group by 增强

   group by rollup(a,b)

11. 层次查询

   select level,empno,ename,mgr

   from emp

   connect by prior empno=mgr

   start with mgr is null

   order by 1; (emp表中的empno员工号,mgr员工老板号)

12. 针对操作给予反馈

    set feedback off oracle(关闭)

13. 创建事物中的保存点

   savepoint a; 

14. 不走回收站删除表 (管理员没有回收站)

   drop table 表名 purge;

15. 闪回

   flashback table 表名 to before drop;

16. 屏蔽视图的DML操作

   在创建视图的时候后面加 with read only

17. 创建序列:

   create sequence 序列名

   

*****************************************************

另附一份sql优化原则,我们都在意的是细节

   1.尽量使用别名

   2.sql解析是从右往左的,所以and时候假的在右,or的时候真的在右

   3.能用having和where,尽量使用where

   4.尽量使用多表查询,而不是子查询

   5.union和union all都可以时候,尽量用union all(union=union all
   +distinct)

   6.尽量不要使用集合运算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle