oracle 建表语句

Posted 妮蔻的学习天府

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 建表语句相关的知识,希望对你有一定的参考价值。

建表语句

一、建表语句

1简单建表语句。

下面是一个简单建表语句,可根据需要删除和修改字段。

CREATE TABLE "LEDRPT"."AUTO_CHART_ITEM" (
  "ID" VARCHAR2(32) DEFAULT SYS_GUID() NOT NULL ENABLE,
  "CHARTTYPE" VARCHAR2(100)  NOT NULL,  
  "DATANAME" VARCHAR2(100)  DEFAULT NULL,  
  "DATATYPE" VARCHAR2(100)  DEFAULT NULL,  
  "ENABLED" NUMBER(8) DEFAULT 1,  
  "DELETEFLAG" NUMBER(8) DEFAULT 0,
  "REMARK" VARCHAR2(255)  DEFAULT NULL, 
  "CREATEUSERID" VARCHAR2(255)  DEFAULT NULL, 
  "CREATEUSERNAME" VARCHAR2(255)  DEFAULT NULL,  
  "CREATEDATE" DATE DEFAULT SYSDATE, 
  "MODIFYUSERID" VARCHAR2(255)  DEFAULT NULL, 
  "MODIFYUSERNAME" VARCHAR2(255)  DEFAULT NULL,  
  "MODIFYDATE" DATE DEFAULT NULL, 
  PRIMARY KEY ("ID")
)
-- 为每一个字段添加注释
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.id is '主键ID';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.charttype is '图表类型';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.dataname is '数据类型名称';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.datatype is '数据类型';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.enabled is '0-已禁用 1-已启用DIC_NAME=ENABLE_FLAG';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.deleteflag is '0--未删除 1--已删除 DIC_NAME=DELETE_FLAG';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.remark is '备注';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.createuserid is '创建人ID';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.createusername is '创建人';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.createdate is '创建时间';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.modifyuserid is '更新人ID';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.modifyusername is '更新人';
 COMMENT ON COLUMN LEDRPT.AUTO_CHART_ITEM.modifydate is '更新时间';
2删除
drop table LEDRPT.AUTO_CHART_ITEM

二、建表语句解析

1 查看数据库版本

什么问题,离开版本都是扯淡,这是我当前版本数据库

SELECT * FROM "V$VERSION" 

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

2 sys_guid()

sys_guid(),是Oracle 8i 后提供的函数。SYS_GUID产生并返回一个十六进制32位的全球唯一的标识符 。在大多数平台,生成的标识符由主机标符,执行函数的进程或者线程标识符,和进程或线程的一个非重复的值(字节序列)
也可以直接使用 SELECT SYS_GUID()||1 FROM dual

3 ENABLE

改关键字放在约束字段之后,代表会对之后插入的数据进行约束检查(比如判断唯一性)

其他同类关键字

  • Enable 对未来的数据有约束
  • Disable 对未来的数据无约束
  • validate 对已有的数据有约束
  • Novalidate 对已有的数据有无约束

字段可以互相搭配,有如下四种情况

(1) ENABLEVALIDATE:约束在创建时,默认就是此状态。此状态会“检查表中原有行和新插入的行”。
(2)ENABLENOVALIDATE:不能输入违反约束的新数据。但是,在创建约束时,并不检查表中原有行。
(3)DISABLEVALIDATE:检查表中原有行是否违反约束,表中可以插入违反约束的行。
(4)DISABLENOVALIDATE:约束处于禁用状态,且此状态检查表中原有数据是否违反约束.
以上四个关键字的仔细描述,可点击这个博客

■注解

DML语句

数据操纵语句
DML(Data Manipulation Language)语句:数据操纵语句。
用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性
一个具有注脚的文本。1


  1. 注脚的解释 ↩︎

oracle建表

需要先建立表空间吗?
是不是都要设置主键的?

或者ORACLE建表的一些步骤!就是准备吧!

只要有可用的表空间,就不用再建立表空间了;
根据规范化的要求,应该为表建立主键,但不是必需的;
至于建表的步骤,以sqlplus为例,登录到sqlplus之后,运行如下语句即可
create table test (tid int not null,tname varchar(10));
参考技术A oracle装完有个实例 ,重建也行,然后建表空间,然后建用户,用这个用户进数据库,使用见表语句:create table CD_COMPLETION_STATUS_HISTORY_T
(
WELL_ID CHAR(10) not null,
WELLBORE_ID CHAR(10) not null,
COMPLETION_ID CHAR(10) not null,
HISTORY_ID CHAR(5) not null,
COMPLETION_STATUS NVARCHAR2(32),
EFFECTIVE_DATE DATE,
COMMENTS NVARCHAR2(255),
INVALIDATION_DATE DATE
)
参考技术B 一般就不用建立表空间的了
直接create table就可以了,主键是不一定要的,不过最好加上!
参考技术C 由于ORACLE是以用户为单位进行管理的,所有的table,index,function等等都存在于该用户下,所以你需要确认ORACLE Server上有没有你可以Login的用户,如果该用户存在,你就可以登录进去,将Create Table的SQL(该建表SQL文件应该已经有指定主键的语句)在你的用户下执行就可以了。
关于表空间的事,那是在创建上边所说到的用户的时候指定的。
参考技术D 你直接用sys用户 建表就行了,设置主键,表空间都是随便你的,你想要自己创建的用户建表,你要让sys用户给你新建的用户进行授权 然后你才可以建表

以上是关于oracle 建表语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle 查看建表语句

oracle建表语句

oracle建表

怎样用oracle查建表语句

在oracle数据库中创建表语句如何写?

oracle 建表语句