在这一章中我将和大家分享一下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