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 ;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值