Oracle笔记

Posted lakeslove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle笔记相关的知识,希望对你有一定的参考价值。

1.当前用户

show user;

2.sql语句

DML语句(数据操作语言)Insert、Update、 Delete、Merge 

DDL语句(数据定义语言)Create、Alter、 Drop、Truncate 

DCL语句(数据控制语言)Grant、Revoke 

事务控制语句Commit 、Rollback、Savepoint 

 

3.count

如果数据库表的没有数据,count(*)返回的不是null,而是0 

 

4.case 语句

demo

Select avg(sal),avg(nvl(comm,0)),
(case 
when avg(nvl(comm,0))>300 then 奖金不错 
when avg(nvl(comm,0))<100 then 奖金较差 
else 奖金一般 
end) 
as 奖金状况
from emp 
group by job 
order by job desc,avg(sal) desc;

结果

  AVG(SAL) AVG(NVL(COMM,0)) 奖金状况
---------- ---------------- ----
      1400              550 奖金不错
      5000                0 奖金较差
2758.33333                0 奖金较差
    1037.5                0 奖金较差
      3000                0 奖金较差

 

5.mysql没有这几个功能

INTERSECT  交集

MINUS 返回差异的记录 

 

6.topN,这个跟mysql有点不一样

select * from (select * from emp order by sal desc)
where rownum <= 5 order by sal desc;

7.分页,第一种比第二种要好一些

select * from (select rownum no,e.* from (select * from emp order by sal desc) e where rownum<=5 ) where no>=3;
select * from (select rownum no,e.* from (select * from emp order by sal desc) e) where no>=3 and no<=5;

 

列出员工表中每个部门的员工数(员工数必须大于3),和部门名称 

select d.* ,ed.cou from dept d,(select deptno,count(*) cou from emp group by deptno having count(*)>3) ed where d.deptno=ed.deptno; 

 

8.Oracle主要数据类型 

Char,nchar,varchar2,nvarchar2,number(),date,blob(binary二进制流的大对象),clob(文件大对象) 

 

 

1、 由于char是以固定长度的,所以它的速度会比varchar2快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉 

2Varchar2一般适用于英文和数字,Nvarchar2适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题 

3、 Number(4,2) 指的是整数占2位,小数占2位(99.994可以。99.995不行,因为是四舍五入) 

4、 Number默认为38 

 

9.清空表中数据 

Truncate table student;

10.条件约束

age NUMBER CHECK(age BETWEEN 0 AND 150)

外键

pid NUMBER REFERENCES person(pid) ON DELETE CASCADE;

 

 

 

 

 


以上是关于Oracle笔记的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Toad for Oracle 中使用自定义代码片段?

学习笔记:python3,代码片段(2017)

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段