您的位置:首页 > 数据库 > Oracle

oracle 约束 保存点 视图

2015-07-06 14:45 375 查看
导出某个用户下所指定的表:exp 用户名、密码
导入表:imp 用户名/密码
导出整个数据库需要管理员的权限
truncate table
表名:此命令删除表后,再重新创建结构与删除的那张表一模一样的表
dml:数据操作语言
ddl:数据定义语言
dcl:数据控制语言
创建保存点:savepoint 保存点名
回滚到保存点:rollback  to
保存点名
注意:(一旦提交了事务就不能回退到保存点保存点不能多次回退)
对一张表增加字段:alter table 表名 add 字段名
字段类型
修改字段的数据类型:alter table 表名 modify 字段名
字段类型
删除一个字段:alter table 表名 drop column
字段
修改字段名:alter table 表名 rename column 旧字段名
to 新字段名
查看回收站:show recyclebin
清空回收站:purge recyclebin
删除表不让其进入回收站:drop table 表名 purge
注意:管理员用户删除的自己表不会进入回收站
 
 
oracle事务处理:

 
概念:事务是把对数据库的一系列操作看做一个整体,要么全部成功,要么全部失败,利用事务可以保证数据的完整性,事务具有原子性

如果一个事务中,只有select,那么事务控制可以忽略,如果一个事务有多个(update,insert,delete)则要考虑事务

 


事务的隔离级别


1  

概念:隔离级别定义了事务与事务之间的隔离程度


[b]oracle
有三种隔离级别:[/b]
(1)  
red 
commited


这是oracle缺省的事务隔离级别;保证不会出现脏读;但可能出现非重复读和幻读

(2)  
serializable

可以保证不出现脏读、不可重复读、幻读

(3)  
red 
only


可以保证不出现脏读、不可重复读、幻读

(4)  
serializable与red only区别
serializable可以执行dml语句
red 
only

只能读取

 
 

维护数据的完整性:

有三种方法:约束、触发器、应用程序(过程、函数)
1. 
约束

(1)  
not null(非空)


用于指定某列的值不可以是空值
(2)  
unique(唯一)


用于指定某列的值不能重复,但是可以为null
(3)  
primary key(主键)


用于唯一的标识表行的数据,当定义主键约束后,该列不但不能重复而且不能为null;
primary key与unique的区别:

一个表可以有多个unique。但是只能有一个主键

每张表都应该有一个主键
unique的列的值可以为空但是primary 
key的值不能为空

primary
key所在的列,会自动创建索引;但是unique不会自动创建索引

(4)  
foreign key(外键)


外键指向主键列也可以指向unique列

外键列和主键列的数据类型要一致

建表时,先建主表再建从表,删除先删从表,后删主表

外键列的值必须在主键列存在

外键列可以为null

外键表指向主键表关键词:references
(5)  
check(检查)


用于强制数据必须满足的条件
 
 

如果在建表时忘记建立必要的约束,则可以在建表后使用alter table命令为表增加约束,但是要注意:增加not null约束时,需要使用modify选项,而增加其他四种约束则使用add选项
 
 
 

列级定义和表级定义:

在定义表后,直接在列后定义的约束,称为列级定义

表级定义,把各个列都定义发完毕后,在分别说明约束

列级定义基本语法:
constraint 约束名 primary
key(字段)

constraint 约束名 foreign key(字段)
references
主表(字段)

constraint 约束名 unique
(字段)

not
null(字段)

constraint check
(字段条件)

 
表级定义:
[b]alter table
表名 add
constraint 约束名
约束种类(字段)
[/b]
非空约束:alter table
表名 modify 字段名 not
null

 
 

级联删除:


当外键表的外键指向主键表的主键列,当删除它所指向的那个主键列的那个数据时,会一同把指向它的那条数据也删除


在建立外键约束时,在后面加上:on delete
cascade


另外一种删除方式;先置空,在删除:


当删除它所指向的那个主键列的那条数据时,先把指向它的那条数据所指向的主键列设置为null,然后在删除主键那条数据


用法:在建立外键约束时,在后面加上:on delete set
null

 

创建视图:


create view 视图名
查询语句;


查看视图:


select* from
视图名;


注意:普通用户不具备创建视图的权限;必须管理员给它分配创建视图的权限(grant create view to
用户名)可以利用视图来修改表中的数据,但是一定不要那样做;必要时,在创建视图的时候在后面加上:


with read only;把它设为只读


删除视图:drop view
视图名

 

视图与表的区别:


1.表需要占用磁盘空间,视图不需要


2.视图不能添加索引


3.使用视图可以简化复杂查询


4.视图有利于提高安全性;比如:不同的用户可以查看不同的视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: