• ORACLE_数据处理


    

    ORACLE_数据处理

    ①数据操纵语言
    DML(Data Manipulation Language – 数据操纵语言) 能够在下列条件下运行:
    向表中插入数据
    改动现存数据
    删除现存数据
    查询现存数据
    事务是由完毕若干项工作的DML语句组成的

    ②INSERT 语句语法

    1.使用 INSERT 语句向表中插入数据。
    INSERT INTO table [(column [, column...])]
    VALUES  (value [, value...]);
    使用这样的语法一次仅仅能向表中插入一条数据。

    2.从其他表中拷贝数据
    在 INSERT 语句中增加子查询。

    INSERT INTO table1 [(column [, column...])]
    select [(column [, column...])]
    from table2
    where condition

    不必书写 VALUES 子句。
    子查询中的值列表应与 INSERT 子句中的列名相应

    3.创建脚本
    在SQL 语句中使用 & 变量指定列值。
    & 变量放在VALUES子句中。


    ③UPDATE 语句语法
    1.使用 UPDATE 语句更新数据。
    UPDATE  table
    SET  column = value [, column = value, ...]
    [WHERE   condition];

    能够一次更新多条数据。


    使用 WHERE 子句指定须要更新的数据
    假设省略 WHERE 子句,则表中的全部数据都将被更新

    2.在 UPDATE 语句中使用子查询
    在 UPDATE 中使用子查询,使更新基于还有一个表中的数据。


    UPDATE  copy_emp
    SET     department_id  =  (SELECT department_id
                               FROM employees
                               WHERE employee_id = 100)
    WHERE   job_id         =  (SELECT job_id
                               FROM employees
                               WHERE employee_id = 200);
    3.更新中的数据完整性错误
    UPDATE employees
    SET    department_id = 55
    WHERE  department_id = 110;

    department_id是引用外键,可是55不存在于引用表中,违反外键约束

    ④DELETE 语句
    1.使用 DELETE 语句从表中删除数据。
    DELETE FROM   table
    [WHERE   condition];
    使用 WHERE 子句删除指定的记录。


    假设省略 WHERE 子句,则表中的所有数据将被删除

    2.在 DELETE 中使用子查询
    DELETE FROM emp1
    WHERE  department_id =
    (SELECT department_id
    FROM   dept1
    WHERE  department_name LIKE '%Public%');

    3.删除中的数据完整性错误
    DELETE FROM departments
    WHERE       department_id = 60;

    注:department_id = 60 已经被引用,故不能删除

    ⑤数据库事务
    事务:一组逻辑操作单元,使数据从一种状态变换到还有一种状态。
    1.数据库事务由下面的部分组成:
    一个或多个DML 语句
    一个 DDL(Data Definition Language – 数据定义语言) 语句
    一个 DCL(Data Control Language – 数据控制语言) 语句

    2.事务的開始与结束
    以第一个 DML 语句的运行作为開始

    以以下的当中之中的一个作为结束:
    COMMIT 或 ROLLBACK 语句
    DDL 语句(自己主动提交)
    用户会话正常结束
    系统异常终止

    3.COMMIT和ROLLBACK语句的长处
    使用COMMIT 和 ROLLBACK语句,我们能够:
    确保数据完整性。
    数据改变被提交之前预览。


    将逻辑上相关的操作分组。

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

    5.事务进程
    自己主动提交在下面情况中运行:
    DDL 语句。
    DCL 语句。
    不使用 COMMIT 或 ROLLBACK 语句提交或回滚,正常结束会话。
    会话异常结束或系统异常会导致自己主动回滚。

    6.提交或回滚前的数据状态
    改变前的数据状态是能够恢复的
    运行 DML 操作的用户能够通过 SELECT 语句查询之前的修正
    其它用户不能看到当前用户所做的改变。直到当前用户结束事务。


    DML语句所涉及到的行被锁定, 其它用户不能操作。

    7.提交后的数据状态
    数据的改变已经被保存到数据库中。
    改变前的数据已经丢失。
    全部用户能够看到结果。
    锁被释放,其它用户能够操作涉及到的数据。
    全部保存点被释放。

  • 相关阅读:
    js判断手机或Pc端登陆.并跳转到相应的页面
    短信接口的使用
    sql替换
    jQuery 双击事件(dblclick)
    attr 和 prop 的区别
    如何获得select被选中option的value和text
    微信公众号基本配置
    关闭当前界面
    oninput、onchange与onpropertychange事件的区别, 与input输入框实时检测
    thinkphp5 与 endroid 二维码生成
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7172341.html
Copyright © 2020-2023  润新知