<!--
了解Oracel中的表格中的操作
Goal:了解表格的创建和修改以及相关操作
-->
写在前面的话:
Oracle:表格是创建在用户方案中,而非直接属于数据库!
Sqlserver:表格直接属于数据库!
一,表格的创建:
关键字:create
create table 表名(
列名1 数据类型 其他属性,
列名2 数据类型 其他属性,
...
最后一列 数据类型 其他属性
);
注意:在oracle中,创建约束时与Sqlserver一样,也是直接写primary key,check(xxx),等等,但是唯一不同的是
外键约束有一点变化:
eg: typeId int costraint (typeId) refereces TypeInfo(typeId);
而不是:
eg: typeId int foreign key (typeId) refereces TypeInfo(typeId);--(有些说是这样写的,但是我没有写成功过!)
二,表格的修改
a)添加一列:
alter table 表名 add 字段名 数据类型 属性;
b)修改列:
alter table 表名 modify 列名 数据类型 属性;
c)删除列:
alter table 表名 drop column 列名;
d)修改表名:
alter table 就表明 rename to 新表名;
三,通过已有表格建立新的表格(同时将已有数据录入新表格)
create table 新表名 as select 列名1,列名2,.... from 旧表名;
四,表空间的相关操作:
a)创建表空间:
create tablespace 表空间名 datafile='表空间路径(文件名常以dbf结尾)' size XXM;
注:size后的数字的单位不是MB,而是M,eg: size 50m;
b)临时表空间的创建:
create temporary tablespace 临时表空间名 tempFile='路径(文件名同上)' size xxM;
c)给用户指定表空间
alter user 用户名 default tablespace 表空间名;
d)给表格指定表空间(需要在创建的时候进行指定):
create table XXX(
XXX XX XXX
) tablespace 表空间名;
e)删除表空间:
1)只进行逻辑删除,也就是说删除结构,但是物理文件还存在:
drop tablespace 名称 incuding contents;
2)全部删除:
drop table 名称 including contents and datafile;
f)修改表空间大小:
alter database datafile='新添加的数据文件的路径(及文件名)' resize XXM;
<!--
Author:Lovingshu
Date:2011-12-18 23:05
Remark:I renamed my QQ Name Samael~from Darksiders !
-->