Oracle 中表的基本操作和事务

 

一.Oracle 中表的基本操作


1.创建一张表


CREATE [GLOBAL TEMPORARY] TABLE 用户名.表名(
列名 数据类型 约束,
….
)
[ON COMMIT PRESERVE ROWS]| [ON COMMIT DELETE ROWS];
GLOBAL TEMPORARY:临时表
ON COMMIT PRESERVE ROWS:会话级临时表,用户退出会话,自动清除数据
ON COMMIT DELETE ROWS:事务级临时表,事务结束,自动清除数据
Oracle 不区分大小写
常见数据类型见附件一

常见约束( 这里讲解列级约束方式,表级方式在修改表结构中说明) :
    主键约束:Primary key 具有唯一性、非空性
    外键约束:References 引用表(主键) 需要建立两表间的关系并引用主表的列
    唯一约束:Unique 唯一性,可以空,但是只能有一个为空
    非空约束:Not Null 不允许值为空
    默认约束:Default(值) 该列的默认值,在未输入情况下
    check 约束:Check(表达式) 对该列数据范围、格式的限制
例如
Create table zhangsan.users
(
userid int primary key,
username varchar2(20) not null,
usersex char(3) check(usersex=’男’ or usersex=’女’),
useraddress varchar2(20) default(‘西安’),
userphone varchar2(20) unique,
classid int references class(classid)
);
难点说明:
主键:主关键字(主键,primarykey)是被挑选出来,作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。


b) 修改表结构

修改表结构
1、ALTER TABLE 表名 MODIFY(列名,数据类型);//修改一个列的数据类型
2、ALTER TABLE 表名 ADD(列名,数据类型);//增加一列
3、ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;//修改列

4、ALTER TABLE 表名 DROP COLUMN 列名;//删除一列
5、ALTER TABLE 当前表名 RENAME TO 新表名;//修改表名

添加约束(表级方式)


    1、alter table 用户名.表名 add constraint 约束名 primary key(列名);//注意,这里可以有多个列组成联合主键,之间用逗号隔开
    2、alter table 用户名.表名 add constraint 约束名 unique(列名);
    3、alter table 用户名.表名 modify(列名 not null);
    4、alter table 用户名.表名 add constraint 约束名 foreign key(外键)
    references 引用表(主键)
    5、alter table 用户名.表名 add constraint 约束名 check(表达式);
    6、alter table 表名 modify(列名 类型 default 默认值);


c) 删除一张表

DROP [GLOBAL TEMPORARY] TABLE 用户名.表名;


二.Oracle 中的事务

a) 什么是事务


数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。
一个逻辑工作单元要成为事务, 必须满足所谓的 ACID(原子性、一致性、隔离性和持久性)属性。
事务是数据库运行中的逻辑工作单位,由 DBMS 中的事务管理子系统负责事务的处理。

b) 事务的分类


    i.  原子性(Atomic):事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
    ii.  性 一致性(Consistent):事务在完成时,必须使所有的数据都保持一致状态。
    iii.  隔离性(Insulation):由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。
    iv.  永久性(Duration):事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

c) Oracle 中事务的操作


    COMMIT; //提交事务
    ROLLBACK;//回滚事务
    ROLLABCK TO 节点; //回滚到保存点
    SAVEPOINT 节点; //创建保存点
    八. Oracle 中的一些常见问题

a) 什么是数据库,什么是实例,他们的区别是什么?
b) PGA 和 SGA 之间的关系?
c) 段和区之间的区别?
d) 一张表中可以有多个主键么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值