Oracle深入浅出之数据管理

来源:互联网 发布:大嘴巴网络超市 编辑:程序博客网 时间:2024/06/07 05:44


     在这一章中我将和大家分享一下Oracle中的数据管理,对于数据管理的话我们可能就会对Oracle的表空间进行管理,Oracle表
的管理,对应就会有增、删、改操作,下面让我们来看看Oracle和其它数据有什么不同之处
     表空间的概念:表空间是数据库最大的逻辑单元,当然一个Oracle数据库中至少包含一个表空间,也就是默认的SYSTEM的系统表空间
,每个表空间是由一个或多个数据文件组成,一个数据文件只能与一个表空间相关联
     表空间的大小等于构成该表空间的所有数据文件大小之和,这里我突然想说下它们的结构上的区别:
从物理上来说,表空间对应数据文件,用来存放数据库数据的容器
从逻辑上来说,表空间将数据库对象有规律的组织起来,便于用于进行管理

     系统表空间
  当我们安装完Oracle数据库时,系统默认创建了表空间
  System 主要用于存放管理员创建的对象
                Users  主要存放一般用户创建的对象

 如何创建表空间?
create tablespace sharme    -sharme表空间名称
datafile 'f:/sharme/sharme.dbf'   --表空间存放地址以及保存的数据文件
size 100m   --初始大小
autoextend on;    --自动增长打开

 如果删除表空间?
drop talespace sharme including contents and datafiles;
--including contents and datafiles 表示删除表空间的内容和对于的数据文件,也可以直接删除


        什么是用户默认表空间?
创建用户时,我们可以为该用户指定默认表空间,那么该用户今后创建的表等数据库对象,都会存放在这个默认表空间里,创建用户时
如果我们不指定默认表空间,那么系统默认认为是Users表空间
        如何指定默认表空间?
create user 用户名 identified by 密码 default tablespace 表空间名;

 

Oracle的数据类型

字符数据类型
  char:固定长度字符串,最大存放2000字节
  varchar2:可变长度字符串,最大存放4000字节
  long:可变长度字符串,最大可以存放4GB
数值数据类型number
  number[(p,[s])] 
 --注解:p表示精度也就是一共几位,最高位为38
 --S表示小数位数

日期时间类型
 Date:一般数据库默认格式为12/5月/2012
 Timestamp:这种数据类型精确度很高,精确到小数点后6位 如:05/20/2012 16:55:22 .000000

RAW数据类型
 用于存放二进制数据,最多存放2000字节

Long RAW数据类型
 用于存放可变的二进制数据,最多可以存放2GB

LOB大对象数据类型,最大可以存放4GB大小的数据
 Clob字符型大对象类型   Blob二进制数据大对象,可以存放图像/声音

 

Oracle表管理

表示最基本的数据库对象,对于表管理我们需要了解如下:
 create table sharme{
   sid numerb(4),
   sname varchar2(40),
   saddress varchar2(100)
}
 
drop table sharme;//删除表

修改表

alter table 表名 add (列名 类型);--添加一列

alter table 表名 modify(列名 类型);--修改字段的长度

alter table 表名 drop column 列名;--删除一列

rename 修表名 to 新表名 ;--修改表名

desc 表名;--看表结构,但是这个命令局限在命名窗口中

 

为表添加约束

约束定义:constraint,为了保证数据的完整性,避免非法数据


primary key --主键约束
foreign key --外键约束
check --检查约束   null| not null --是否为空       default --默认值

   如何添加约束?
alter table 表名
add constraint 约束名 约束类型 约束添加
  如何删除约束?
alter table 表名
drop constraint 约束名‘


 如何利用现有表创建新表?
create table 表名 as select * from emp; --查询emp信息创建一个新表,但是复制仅仅复制表的结构,不复制表的约束

 

 数据管理删除

 delete from 表名 where 条件
 
 truncate table 表名

比较这两者的区别:
1.delete删除数据,会记录到日志文件,可以通过事物控制语句恢复数据
2.truncate删除数据,不会记录到日志文件,不能恢复,但是执行的效率相对于delete要快一些


事物控制语言

事务是最小的工作单元,作为一个整体工作,保证事务的整体成功或失败称为事务控制

在Oracle中用于控制事务的语句有:
 commit --提交事务
 
 rollback [to savepoint]  --回滚事务

 savepoint --设置保存点位置

介绍下SQL:SQL是结构化查询语言

SQL支持如下类别的命令:
  DDL(数据定义语言)Data Definition Language
        用于改变数据库结构,创建,更改和删除数据库对象像create/alter/drop
      
 DML (数据操作语言) Data ManipulationLanguage
         用于检索,插入和修改数据:如insert.delete/update/select

        TCL(事务控制语言) commit/rollback/savepoint

 DCL(数据控制语言) 为用户提供全新控制命令 grant.revoke

 

 


 

原创粉丝点击