Oracle数据库—— 数据处理

Posted 秋风de领域

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库—— 数据处理相关的知识,希望对你有一定的参考价值。

(一)插入数据

方式一

insert语句语法

INSERT INTO table [(column [, column...])]

VALUES (value [, value...]);

使用这种语法一次只能向表中插入一条数据

 

若按照列的顺序赋值,可以不用写列名

否则要写列名,对于非空的列一定要复制

 

方式二:从其他的表拷贝数据

方式三:创建脚本(了解)

  • 在SQL 语句中使用 & 变量指定列值0。
  • & 变量放在VALUES子句中。

 

使用脚本,运行sql语句后,会出现弹框,所有弹框的值填好之后,这条数据会保存在数据库中

 

(二)更新数据

UPDATE table

SET column = value [, column = value, ...]

[WHERE condition];

 

-- 更新 114号员工的工作和工资使其与205号员工 相同

(1)先查询114号与205号员工的工作和工资是否相同

(2)更新信息

(3)再次查询114号与205号员工的工作和工资是否相同

 

-- 调整与employee_id 为200的员工job_id相同的,员工的department_id为employee_id为100的员工的department_id

 

更新中的数据完整性错误

department为55的部门不存在,所以无法修改,违反了完整性约束

(三)删除数据

DELETE FROM table

[WHERE condition];

  • 使用 WHERE 子句删除指定的记录
  • 如果省略 WHERE 子句,则表中的全部数据将被删除

在delete中使用子查询

-- 删除dept1部门名称中含Public字符的部门id

删除中的数据完整性错误

若存在其他的表使用要删除的数据,则这条数据不能被删除

 

(四)数据库事务

事务:一组逻辑操作单元,使数据从一种状态变换成另一种状态

数据库事务由以下部分组成:

  • 一个或多个DML 语句
  • 一个 DDL(Data Definition Language – 数据定义语言) 语句
  • 一个 DCL(Data Control Language – 数据控制语言) 语句

以第一个 DML 语句的执行作为开始

以下面的其中之一作为结束:

  • COMMIT 或 ROLLBACK 语句
  • DDL 语句(自动提交)
  • 用户会话正常结束
  • 系统异常终止

 

1、COMMIT和ROLLBACK

优点

  • 确保数据完整性。
  • 数据改变被提交之前预览。
  • 将逻辑上相关的操作分组。

 

2、保留点

  • 使用 SAVEPOINT 语句在当前事务中创建保存点。
  • 使用 ROLLBACK TO SAVEPOINT 语句回滚到创建的保存点。

 

3、事务进程

自动提交在以下情况中执行:

  • DDL 语句。
  • DCL 语句。
  • 不使用 COMMIT 或 ROLLBACK 语句提交或回滚,正常结束会话。

会话异常结束或系统异常会导致自动回滚。

 

4、提交或回滚前的数据状态

  • 改变前的数据状态是可以恢复的
  • 执行 DML 操作的用户可以通过 SELECT 语句查询之前的修正
  • 其他用户不能看到当前用户所做的改变,直到当前用户结束事务。
  • DML语句所涉及到的行被锁定, 其他用户不能操作。

 

5、提交后的数据状态

  • 数据的改变已经被保存到数据库中。
  • 改变前的数据已经丢失。
  • 所有用户可以看到结果。
  • 锁被释放,其他用户可以操作涉及到的数据。
  • 所有保存点被释放。

6、回滚后的数据状态

  • 数据改变被取消。
  • 修改前的数据状态被恢复。
  • 锁被释放。

(五)总结

使用DML语句改变数据和事务控制

 

以上是关于Oracle数据库—— 数据处理的主要内容,如果未能解决你的问题,请参考以下文章

怎样启动和关闭oracle数据库

oracle数据库实例名如何修改

SQL Oracle 查询数据,汇总数据 oracle数据查询

oracle数据库里的数据怎么导出

Oracle新建数据库

如何在linux下重启oracle数据库