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数据库—— 数据处理的主要内容,如果未能解决你的问题,请参考以下文章