Oracle数据库的对象-表

表的命名要求和表中列的命名要求:

1.必须以字母开头;

2.长度不能超过30个字符;

3.只能包含A-Z,a-z,0-9,_,$,and#;

4.不能与数据库中的已有对象重名;

5.不能使用Oracle数据库的保留字。

 

建表语句的语法:CREATE TABLE [schema.]table  (column datatype [DEFAULT expr][, ...]);

 

数据类型与描述:

1.varchar2(size)--可变长字符串;              

2.char(size)--定长字符串;                                         

3.number(p,s)--可变长数值;

4.date--日期时间;                                     

5.long--可变长大字符串,最大可到2G;                    

6.clob--可变长大字符串数据,最大可到4G;

7.raw and long raw--二进制数据;            

8.blob--大二进制数据,最大可到4G;                        

9.bfile--存储于外部文件的二进制数据,最大可到4G

10.rowid--64进制18位长度的数据,用以标识行的地址;         

11.timestamp--精确到分秒级的日期类型(9i以后提供的增强数据类型);

12.interval year to month-- 表示几年几个月的间隔(9i以后提供的增强数据类型-极其少见);

13.interval day to second--表示几天几小时几分几秒的间隔(9i以后提供的增强数据类型-极其 少见)。

 

从一个子查询快速建表的语法: CREATE TABLE [schema.]  table  (column datatype [DEFAULT expr][, ...]);

 

复制表:

1.复制表结构及数据到新表;

CREATE TABLE 新表 SELECT * FROM 旧表

2.只复制表结构到新表;

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
 
更改表:
1.添加列:ALTER TABLE table ADD (column datatype [DEFAULT expr]  [, column datatype]...);
   eg:alter table emp add sex varchar(1);
2.修改列:ALTER TABLE table MODIFY  (column datatype [DEFAULT expr]  [, column datatype]...);  
   eg:alter table emp modify (sex varchar2(10));
3.删除列:ALTER TABLE table DROP (column);
   eg:alter table emp drop column sex;   
4.删除表:DROP TABLE tableName;
   eg:drop table emp;
   注意:表被删 除后,任何依赖于这张表的视图、Package等数据库对象都自动变为无效:
5.修改表名:RENAME oldtablename to  newtableName;
   eg:rename emp to emp_temp;
6.一次性清空一张表中的所有内容,但保留表结构:TRUNCATE TABLE tableName;
   eg:truncate table emp;
   注意:TRUNCATE 与DELETE    FROM  table 的区别: 1)没有Rollback机会  2)HWM标记复位

 

posted on 2017-07-20 15:44  樱桃小王子  阅读(620)  评论(0)    收藏  举报