oracle数据库的增删改查

1 插入数据

1.1 使用insert 关键字

格式: INSERT INTO 表名(列名列表) VALUES(值列表);

注意:
当对表中所有的列进行赋值,那么列名列表可以省略,小括号也随之省略必须对表中的非空字段进行赋值具有默认值的字段可以不提供值,此时列名列表中的相应的列名也要省略。

2 修改数据(更新数据)

2.1 update 更新的数据

格式:

  • 更新一列数据

UPDATE 表名 SET 字段=值 WHERE 字段=值

  • 更新多列数据
UPDATE 表名 SET PRICE=PRICE*0.8, NAME=‘值’  WHERE 字段=
  • 使用默认值修改数据
UPDATE EMP SET JOB=DEFAULT WHERE ENAME=‘SCOTT’

注意:
ORACLE中日期列不能直接插入字符串,需使用日期函数转换 TO_DATE(数 据,’YYYY-MM-DD’

3 删除数据

3.1 使用delete 关键字

  • 删除符合条件数据
DELETE FROM EMP WHERE  ENAME= ‘SMITH’
  • 删除所有EMP 所有数据
DELETE FROM EMP
  • 截断表
TRUNCATE TABLE EMP;

注意:
当使用DELETE语句删除表数据时,不会释放表所占用的空间,如果用户确定要删除表的所有数据,那么使用截断表更快,并释放表段所占用的空间,注意,DELETE语句可回滚数据,截断表不可回滚数据

4 查询数据

4.1 使用select 关键字

SELECT   列名 FROM 表名;

SELECT * FROM 表名 WHERE 字段>数值;
SELECT * FROM 表名 WHERE  PRICE>50;

--显示工资在2000到2500工资
	SELECT * FROM 表名 WHERE 字段>=2000 AND 字段<=2500;
	
 	SELECT * FROM 表明 WHERE 字段 BETWEEN 2000 AND 2500

4.2 模糊查询

模糊查询 使用关键 like

      %:表示任意0到多个字符  ;
 	  _ : 表示任意单个字符
--如何显示首字母为S的员工姓名及工资
    SELECT EANAME, SAL FROM 表名 WHERE  EANAME LIKE 'S%' ;

--如何显示第三个字母为O的所有员工姓名及工资
	 SELECT EANAME, SAL FROM 表名 WHERE  EANAME LIKE '_ _O%';

4.3 对查询数据排序

使用 order by 关键字

ASC:正序
DESC:倒序
格式:
select emame,sal from emp where sal is not null order by sal desc;

4.4 分组查询

使用关键字group by

查询每个部门员工的数量
select  deptno, count(*) 数量 from emp group by deptno;

4.5 Having 查询

having 查询是对分组之后的结果进行查询

查询平均工资大于两千的部门及部门人数
SELECT  DEPTNO,COUNT(*) 数量  FROM  EMP GROUP BY  DEPTNO HAVING AVG(SAL)>2000
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐