Oracle表的管理

期望目标

1.      掌握Oracle表的管理

2.      掌握对Oracle表的各种查询技巧

3.      学会创建新的Oracle数据库

 

一、Oracle支持的数据类型

char  定长,最大2000字符。执行效率极快,但浪费空间。

在查询方面速度很快。例如select …… from xx where 某个字段 = xx。如果经常以某个列作为条件查询的话建议使用此字段使用char类型。

varchar2(20)  变长,最大4000字符。执行效率很慢,但节约空间。

所以说每种数据类型都有其存在的意义。

 

二、删除数据:

delete from student;

删除所有记录,表结构还在,写日志可以恢复的,速度慢。

drop table student;

删除表的结构和数据

delete from student where stuid=’100’;

删除一条记录

truncate table student;

删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

 

三、Oracle表的基本查询

1.查看该用下的所对象Select * from tab;

2.MANAGER)的

 

Select empno,ename from emp where job = Manager;

3.

 

 

Select * from emp where comm>sal;

总和

 

Select sal+comm,ename from emp;

部门 10 (MANAGER)和部门 20 (CLERK)

 

Select * from emp where (deptno=10 and job=MANAGER) or (deptno=20 and job=CLERK);

部门 10 2000 员工

 

Select * from emp where deptno=10 and job not in(MANAGER,CLERK) and sal>=2000;

 

Select distinct job from emp where comm is not null and comm>0

低于 500

 

Select * from emp where comm<500 or comm is null;

前面

 

select ename from emp order by hiredate ;

 

NVL()函数: 如果第一个参数不为空,则返回第一个参数,否则返回第二个参数。

select nvl(comm,0) from emp;

年薪按升序排列

select ename,(sal+nvl(comm.,0))*12 as 年薪 from emp ;

找出25年前雇的员工

select * from emp where hiredate<=add_months(sysdate,-25*12);

前加上 Dear ,大写

select 'Dear ' || initcap(ename) from emp;

姓名为 5 员工

select * from emp where length(ename)=5;

中不带 R 员工

select * from emp where ename not like '%R%';

个字

select substr(ename,0,1) from emp;

找到 2 员工

select * from emp where to_char(hiredate,'fmmm')='2';

 

 

由于文档支持内容的长度有限,复杂查询见附件。