怎么建oracle的表格

如题所述

1.创建表:

    创建表使用CREATE TABLE命令。执行这个命令时,必须有CREATE TABLE的系统权限。如果想在其他用户的方案下创建表,必须被赋予CREATE ANY TABLE的系统权限。创建表的语法如下:

       CREATE   TABLE [schema.]table_name(

              column_name datetype [DEFAUIT expr][,...]

);

上述语法将会在方案schema下创建一个名为table_name的表,在表中列用column_name表示,后面跟随的datetype表示该列的数据类型,可以通过DEFAULT子句给列指定默认值。如下图为在方案SCOTT下创建表TEST01:

2.修改表:

      如果在建表后发现有不合适的表结构或表名,可以使用ALTER TABLE语句修改。包括增加列、修改列定义、删除列、修改列名和修改表名等。如下图依次为上述情况的实例。

3.截断表:

       截断表使用TRUNCATE TABLE语句实现,作用是保留表结构删除表数据,语法如下:

    TRUNCATE TABLE table_name;

如下图:

4.删除表:

      当表不需要的时候,可以使用DROP TABLE 把表删除。删除表会将表的所以数据及结构都删除,并从数据字典中删除表的相关信息,所以未完成的事务自动提交,和表相关的所以索引也会被删除。语法如下:

    DROP TABLE table_name [CASCADE CONSTRAINT];

如果要删除的表有主外键关联关系时必须使用CASCADE CONSTRAINT子句。

5.给表增加注释:

      在应用程序设计时,必要的注释是十分有必要的,可以使用COMMENT语句来实现,给表和列增加注释的语法如下:

        COMMENT ON TABLE table_name IS 'comment_string';

        COMMENT ONCOLUMN table_name.column_name IS 'comment_string';

这种的注释是存储在数据库中的,一般在脚本文件,过程或函数中建议增加单行或多行注释以增加可读性,在Oracle数据库中,单行注释使用两个短的中划线“_ _”表示,多行注释使用“/*...*/”表示。

在数据字典中查看表的信息:

       和表相关的数据字典主要包括USER_TABLES和USER_OBJECTS查看表信息,以及USER_TAB_COMMENTS和USER_COL_COMMJENTS查看表和列的注释信息。如下图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-06
创建表

--------------------------------------------------------------------------------

CREATE TABLE TABLE_NAME(
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
[constraint <约束名> 约束类型 (要约束的字段名)... ]
);
说明:
TABLE_NAME --表名.
column1,column2 --列的名称 不能取关键字 
DATATYPE --是Oracle的数据类型,可以查看附录.
NOT NULL /NULL --不可以/可以允许资料有空的.NULL一般省略.
PRIMARY KEY --是本表的主键。
CONSTRAINT --是对表里的字段添加约束.(约束类型有 Check,Unique,Primary key,not null,Foreign key)。

示例:
CREATE TABLE student(
s_id number(8) PRIMARY KEY,
s_name varchar2(20) NOT NULL,
s_sex varchar2(8) ,
clsid number(8) ,
CONSTRAINT u_1 UNIQUE(s_name),
CONSTRAINT c_1 CHECK (s_sex in ('MALE','FEMALE'))
);

表级约束
如 设置 两列不能同时为空
ALTER TABLE tablename ADD CONSTRAINT check_name CHECK (col1 is not null or col2 is not null) ;

复制表

--------------------------------------------------------------------------------

CREATE TABLE TABLE as <SELECT 语句>

(需注意的是复制表不能复制表的约束);

示例:
CREATE TABLE test AS SELECT * FROM emp;
会将表emp的数据一并复制到test中,但约束没有复制.

如果只复制表的结构不复制表的数据则:
CREATE TABLE test as (SELECT * FROM emp WHERE 1=2);
或者
CREATE TABLE test as (SELECT * FROM emp WHERE FALSE);本回答被网友采纳
第2个回答  2012-04-06
oracle语法和sql语法大致一样,但是oracle好好多内置函数 ,这个比sql要强大,建表的话 就 create table 表名(字段名 字段类型)
相似回答