Oracle(三):Oracle数据库CRUD

一、oracle的增删改操作

1、添加操作

语法:INSERT INTO table_name (column1,column2,...) values ( value1,value2, ...); 

实例:insert into person (pid, pname) values (1, '小明');

2、修改操作

语法:UPDATE table_name set column1=new value,column2=new value,...WHERE <条件>

实例:update person set pname = '小马' where pid = 1;

3、删除操作

3.1、使用delete删除

语法:DELETE FROM <table_name> WHERE <条件>;

实例:delete from person;

3.2、使用truncate删除

语法:TRUNCATE TABLE <table_name>;

实例:truncate table person;

3.3、使用drop删除

语法:DROP TABLE <table_name>;

实例:drop table person;

注意:

  • delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增id列,delete from后仍然从上次的数开始增加。
  • truncate是一次性删掉所有数据,不删除表结构。注意:如果表中有identity产生的自增id列,truncate后,会恢复初始值。
  • drop删除所有数据,会删除表结构。

二、oracle的查询操作

查询语法

SELECT [DISTINCT] <column1 [as new name] ,columns2,...> FROM <table1> [WHERE <条件>] [GROUP BY <column_list>] [HAVING <条件>] [ORDER BY <column_list> [ASC|DESC]] 

1、查询所有列

实例:select * from emp;

2、查询所有的指定列

实例:select empno,ename from emp;

3、抑制数据重复(DISTINCT)

实例:select distinct job from emp;

4、空值查询:(not)null

实例:select * from emp where mgr is null;

5、范围查询

5.1、IN进行多个离散值查询

实例:select * from emp where empno in(7788,7369,7499);

5.2、BETWEEN..AND..查询某个范围内的数据

实例:select * from emp where sal between 1000 and 2000;

5.3、ANY修饰的查询

实例:select * from emp where sal>ANY(select sal from emp where deptno=30) and deptno<>30;

5.4、ALL修饰的查询

实例:select * from emp where sal>ALL(select sal from emp where deptno=30) and deptno<>30;

6、过滤查询

6.1、运算符过滤

实例:select * from emp where deptno=10 and sal>1000;

6.2、通配符过滤(LIKE)

实例:select * from emp where ename like '_C%';

7、分组查询

实例:select e.deptno, avg(e.sal) from emp e group by e.deptno having avg(e.sal)>2000;

注意:where是过滤分组前的数据,having是过滤分组后的数据;where必须在group by之前,having是在group by之后。

8、数据排序(asc、desc)

实例:select * from emp order by sal desc;

9、分页查询

rownum行号:当我们做select操作的时候,每查询出一行记录,就会在该行上加上一个行号,行号从1开始,依次递增,不能跳着走。

实例:select * from(select rownum rn, tt.* from(select * from emp order by sal desc) tt where rownum<11) where rn>5

注意:排序操作会影响rownum的顺序,rownum行号不能写上大于一个正数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值