处理数据

来源:互联网 发布:橙e付网络 编辑:程序博客网 时间:2024/06/05 23:20

一、表中添加新的数据

  1. 语法:
    INSERT INTOtable [(column [, column...])]VALUES (value [, value...]);
  2. 说明:
    1. 插入字段的值的类型要和字段的类型一一对应。
    2. 字符串类型的字段值必须用单引号括起来,例如:'张三'。字符串类型的字段值超过定义的长度会出错
    3. 如果要插入表的全部字段,则表名后的字段列表可以省略。
    4. 其他没有插入的字段,系统会填写为表的默认值。如果在表的创建时没有说明默认值,则将插入NULL值。
    5. 日期类型的字段值也要用单引号括起来,如'10-1月-03'。日期型的数据默认格式为DD-MON-YY,默认的世纪为当前的世纪,默认的时间为午夜12点。如果指定的世纪不是本世纪或时间不是午夜12点,则必须使用TO_DATE系统函数对字符串进行转换。

二、更改表中的数据

修改数据的语句UPDATE对表中指定字段的数据进行修改,一般需要通过添加WHERE条件来限定要进行修改的行,如果不添加WHERE条件,将对所有的行进行修改。
  1. 语法
    UPDATE table   SET column = value [, column = value, ...][WHERE condition];
  2. 说明
    1. 如果修改的值没有赋值或定义,将把原来字段的内容清为NULL。
    2. 若修改值的长度超过定义的长度,则会出错。
    3. 省略WHERE条件,否则将会修改表的所有行。

三、从表中删除数据

  1. 语法
    --DELETEDELETE [FROM] table[WHERE condition];​--TRUNCATETRUNCATE TABLE table_name;
  2. 说明
    1. DELETE:要从表中删除满足条件的记录,WHERE条件一般不能省略,如果省略就会删除表的全部数据。
    2. TRUNCATE:删除记录并不能释放Oracle中被占用的数据块表空间,它只是把那些被删除的数据块标成unused。如果确实要删除一个大表里的全部记录, 可以用TRUNCATE 命令,它可以释放占用的数据块表空间。
    3. 对比
      此命令和不带WHERE条件的DELETE语句功能类似,不同的是,DELETE命令进行的删除可以撤销,但此命令进行的删除不可撤销。

四、事务

  1. 什么是事务
    在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么都成功执行,完成整个工作单元操作,要么一个也不执行。
  2. 事务特性
    一组SQL语句操作要成为事务,数据库管理系统必须保证这组操作的原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持久性(Durability),这就是ACID特性。
    1. 原子性(Atomicity):一个事务里面所有包含的SQL语句是一个执行整体,不可分割,要么都做,要么都不做。
    2. 一致性(Consistency):事务开始时,数据库中的数据是一致的,事务结束时,数据库的数据也应该是一致的。
    3. 隔离性(Isolation):是指数据库允许多个并发事务同时对其中的数据进行读写和修改的能力,隔离性可以防止事务的并发执行时,由于他们的操作命令交叉执行而导致的数据不一致状态。
    4. 持久性 (Durability) : 是指当事务结束后,它对数据库中的影响是永久的,即便系统遇到故障的情况下,数据也不会丢失。
  3. 事务处理方式
    1. 提交事务
      在执行使用COMMIT语句可以提交事务,当执行了COMMIT语句后,会确认事务的变化,结束事务,删除保存点,释放锁。当使用COMMIT语句结束事务之后,其他会话将可以查看到事务变化后的新数据。
    2. 回滚事务
      通过指定保存点可以回退到指定的点。
    3. 保存点
      是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点。
  4. 语句
    1. 置保存点
      savepoint a;
    2. 删除保存点
      release Savepoint a;
    3. 回滚部分事务
      rollback To a;
    4. 回滚全部事务
      rollback;
    5. 提交全部事务
      commit;
原创粉丝点击