日期:2014-05-16 浏览次数:20515 次
表是最常用的模式对象,也是最重要的数据对象之一。甚至在很多时候,我们说到数据库操作,就以为对数据库中的表的操作,而忘记了还有很多其他的操作对象,比如试图、存储过程等等。表示存储数据的有效手段,因此对表的管理非常重要。还可以在表中定义约束,可以保证数据的有效性和完整性。
在Oracle数据库中,用户可以根据用户不同的需求创建不同类型的表,常用的表类型有如下:
类型 | 说明 |
堆表 | 数据按照堆组织,一无系方式存放在单独的表字段中,也是标准表,我们平常用的都是堆表。 |
索引表 | 数据以B树结构,存放在主键约束所对应的索引段中 |
簇表 | 簇有共享相同数据库的一组表组成。在某些情况下,使用簇表可以节省存储空间。 |
分区表 | 数据被划分为更小的部分,并且存储到相应的分区段中,每个分区可以独立管理和操作。 |
数据类型 | 参数 | 描述 |
char(n) | n=1 to 2000字节 | 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节) |
varchar2(n) | n=1 to 4000字节 | 可变长的字符串,具体定义时指明最大长度n, |
number(m,n) | m=1 to 38 | 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。 |
date | 无 | 从公元前4712年1月1日到公元4712年12月31日的所有合法日期, |
long | 无 | 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 |
raw(n) | n=1 to 2000 | 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。 |
long raw | 无 | 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。 |
blob | 无 | 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。 |
bfile | 无 | 在数据库外部保存的大型二进制对象文件,最大长度是4GB。 |
我也把这个整理了一份文档,在文章末尾的时候 可以把它download下来!~。
Create table [schema,] table_name(
column_name data_type [default express] [constraint]
[,column_name data_type [default express] [constraint]]
[,column_name data_type [default express] [constraint]]
);
上面的一些解释,需要明白下,[]表示这在创建表的时候是可选的。而没有[]这个东西表明在创建的时候 是必须要写的!~~~比方说[constraint] 这个给当前列加约束,那么约束是可以加或者不加的!
Scheme:指定表所属的用户名或者所属的用户模式名称。
table_name:顾名思义,就是表名。
column_name:列名
data_type:数据类型,就像在1.1中的写的。
default express:默认值。
constraint:添加列的约束,表示该列必须要满足的规则。
比如:
not null表示非空,就是这