Oracle04数据更新

Oracle04数据更新

序列(Sequence)基本语法:

create sequence S_AB01  创建序列
------
minvalue 1
maxvalue10000
start with 1
increament by 1     每次增加1
cache 20;
默认值
------

序列的两个属性:

NEXTVAL:获取序列的下一个值,每执行一次,产生一个新值

CURRVAL:获取序列的当前值,执行多少次,都不变

NEXTVAL和CURRVAL只要出现在同一条SQL语句中,无论顺序如何,得到的都是NEXTVAL之后的值。

如果语句中多句NEXTVAL那么只执行一次,只执行一个单位

DUAL是Oracle中的一个表,打酱油的一个表

COMMIT:提交命令;

ROLLBACK:回滚命令;


1.数据删除语句

  1.删除全部数据(无条件删除)
     DELETE  FROM 表名;
  2.删除指定的数据(有条件删除)
     DELETE  FROM 表名 WHERE 条件列表;

2.创建及删除序列语法

   创建语法: CREATE  SEQUENCE 序列名;
   删除语法: DROP   SEQUENCE 序列名;

3.序列的不连续性

序列只保证递增,不保证连续.

4.修改语句

UPDATE PERSON A
--在原来的工资上面增加500,在SQL语句中是可以直接进行数学运算的。
SET A.PMONEY=A.MONEY+500
WHERE PID = 3;
COMMIT;


在更新语句中,列之间是可以进行引用的

5.数据删除与数据截断

   DELETE ----数据删除
   TRUNCATE -- 数据截断
  区别:
     1.数据可恢复性
       DELETE只是将数据打上作废标记,让查询不可见,数据并没有被真正的物理删除,同时,DELETE操作是会被Oracle记录的,因此,可以恢复。

     TRUNCATE指令是将数据从磁盘上直接物理擦除,执行后,数据已经不存在;并且不记录到归档日志,因此不可恢复.

   2.事务应用
     DELETE需要显示提交或回滚,因此应用事务
     TRUNCATE 绕过事务,直接删除数据,这也是不可以恢复的原因之一
  3.DELETE由于进行的是模拟删除,因此无法回收表空间
   TRUNCATE可以回收表空间,提高表空间的利用效率 

6.表空间与分用户管理
  分用户管理在实现上有两种方式
  方式1:物理隔离
    每个用户的所有数据都存储到独立的表空间中,该表空间只装载该用户的所有表,这样一个用户的表空间发生问题,对其他用户没有影响
  方式2:逻辑隔离
     表归属用户所有,但是所有用户的表共用一个表空间

7.表空间(TABLESPACE)

   就是表的容器,实际上就是一堆数据文件的集合,用户表中的数据,实际上存储到表空间的指定文件中.
   表空间的分类:
       1.临时表空间-----做交换分区
       2.永久表空间------用以存储数据  

   如果创建用户时候,没有为用户明确指定表空间,此时用户的所有数据,存储到Oracle默认表空间中,默认表空间名字是  USERS

8.创建用户root,密码为root1234

  1.为root用户创建临时表空间
  2.为root用户创建永久表空间
  3.创建root,并为其指定临时表空间和永久表空间

9.创建及删除表

创建表:CREATE TABLE 表名(...)
删除表:DROP TABLE 表名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值