05-Oracle增删改查

数据增加: INSERT  INTO 表名称 [(字段名称,字段名称,...)] VALUES (数据,数据,...)

数据修改: UPDATE 表名称 SET 字段=内容,字段=内容,.... [WHERE 更新条件(s)]

删除数据: DELETE FROM 表名称 [WHERE 删除条件(s)]

· 提交事务:commit;

· 回滚事务:rollback;

select table_name from user_tables; //当前用户的表

drop table 表名称--à删除表结构

如果有约束无法删除,可以先删除子表,在删除主表

desc 表名称à查看表结构

 

ROWNUM实现数据的分页显示

ROWNUM可是自动生成行号

· currentPage,表示的是当前所在页;

· lineSize,表示每页显示的数据行;

 

SELECT *

FROM (

         SELECT ROWNUM rn, ,... FROM 表名称

         WHERE ROWNUM<=currentPage*lineSize) temp

WHERE temp.rn>(currentPage-1)*lineSize ;

 

1emp表复制为myemp

create table myemp as select * from emp;

 

2数据增加

insert into myemp(empno,job,sal,ename,hiredate,comm,mgr,deptno)

values(1001,'销售',5000,'三毛',to_date('2002-08-01','yyyy-mm-dd'),

null,1111,20);

 

3数据修改:要求将7369的雇员工资修改为810、佣金改为100

update myemp set sal=810,comm=100 where empno=7369;

将工资最低的雇员工资修改为公司的平均工资

update myemp set sal=(select avg(sal) from myemp)

where sal=(select min(sal) from myemp);

将所有在81年雇佣的雇员的雇佣日期修改为今天,工资增长20%

update myemp set hiredate=sysdate,sal=sal*1.2

where hiredate between '01-1-1981' and '31-12-1981';

4数据删除:删除雇员编号为7369的雇员信息

delete from myemp where empno=0;

删除若干个数据

delete from myemp where empno in(1001,7788,7899);

 

删除掉公司之中工资最高的雇员

delete from myemp where sal=(select max(sal) from myemp);

 

删除全部,DELETE只删除表中数据,不会删除表格,也不会释放空间,可以回滚

delete from myemp;

 

5使用位列伪列ROWNUM查询emp表中的记录并且取得第一行数据

select rownum,empno,ename from emp where deptno=10

and rownum=1;

取得emp表的前5行记录

select rownum,empno,ename from emp where rownum<=5;

取得6-10条记录

select * from(

select rownum rn,empno,ename from emp where rownum<=10) temp

where temp.rn>5;

select * from(

select rownum 行号,empno 人员编号,ename 人员姓名 from emp where rownum<=10) temp

where temp.行号>5;

现在假设在第3页(currentPage = 3)、每页显示5行记录(lineSize=5

select * from(

select rownum rn,empno,ename from emp

where rownum<=15) temp

where temp.rn>10;

 

 

数据增加: INSERT  INTO 表名称 [(字段名称,字段名称,...)] VALUES (数据,数据,...)

数据修改: UPDATE 表名称 SET 字段=内容,字段=内容,.... [WHERE 更新条件(s)]

删除数据: DELETE FROM 表名称 [WHERE 删除条件(s)]

· 提交事务:commit;

· 回滚事务:rollback;

select table_name from user_tables; //当前用户的表

drop table 表名称--à删除表结构

如果怕有约束可用
drop table
表名 cascade

desc 表名称à查看表结构

 

ROWNUM实现数据的分页显示

ROWNUM可是自动生成行号

· currentPage,表示的是当前所在页;

· lineSize,表示每页显示的数据行;

 

SELECT *

FROM (

         SELECT ROWNUM rn, ,... FROM 表名称

         WHERE ROWNUM<=currentPage*lineSize) temp

WHERE temp.rn>(currentPage-1)*lineSize ;

 

猜你喜欢

转载自404168219.iteye.com/blog/2337635
今日推荐