了解Oracel中的表格中的操作

<!--
	了解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 !
-->


 

你可能感兴趣的:(了解Oracel中的表格中的操作)