ORACLE项目2:关于创建表参数的详细说明

合集下载

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。

Oracle创建表结构

Oracle创建表结构

Oracle创建表结构⼀、Oracle序列创建和使⽤创建序列语法 CREATE SEQUENCE 序列名 [相关参数]参数说明INCREMENT BY :序列变化的步进,负值表⽰递减。

(默认1)START WITH:序列的初始值。

(默认1)MAXvalue:序列可⽣成的最⼤值。

(默认不限制最⼤值,NOMAXVALUE)MINVALUE:序列可⽣成的最⼩值。

(默认不限制最⼩值,NOMINVALUE)CYCLE:⽤于定义当序列产⽣的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)。

CACHE:表⽰缓存序列的个数,数据库异常终⽌可能会导致序列中断不连续的情况,默认值为20,如果不使⽤缓存可设置NOCACHE 例CREATE SEQUENCE SEQU_R_FR_GLRQS_CHECK_RESULTINCREMENT BY 1START WITH 1NOMAXvalueNOCYCLENOCACHE;修改、删除序列使⽤alter命令进⾏修改使⽤drop命令删除⼆、Oracle主键的创建例如:alter table T_R_FR_GLRQS_CHECK_RESULTadd constraint PK_R_FR_GLRQS_CHECK_RESULT primary key (C_IDEN);三、创建索引例如:create index IDX_R_FR_GLRQS_CHECK_RESULT on T_R_FR_GLRQS_CHECK_RESULT (C_QSRQ)四、创建表结构例如:create table T_R_FR_GLRQS_CHECK_RESULT(c_iden VARCHAR2(30) not null,c_port_code VARCHAR2(30) not null,c_ywdm VARCHAR2(30) not null,c_xwdm VARCHAR2(20),c_jyrq VARCHAR2(10),c_qsrq VARCHAR2(10),c_fsrq VARCHAR2(10),c_zjrq VARCHAR2(10),n_zjje NUMBER(22,4),n_qsje NUMBER(22,4),n_ce NUMBER(22,4),c_hdjg VARCHAR2(10),c_hdzt VARCHAR2(10),n_check_state NUMBER(3) default 0 not null,c_update_by VARCHAR2(20) default ' ' not null,c_update_time VARCHAR2(20) default ' ' not null,c_check_by VARCHAR2(20),c_check_time VARCHAR2(20))。

create table oracle语句

create table oracle语句

create table oracle语句
嘿,朋友们!今天咱就来好好唠唠这个“create table oracle 语句”。

就好像盖房子得先有个设计图一样,这语句就是在数据库里搭建“房子”的关键呀!
比如说,你想在数据库里建个表来存你的宝贝数据,那这“create table”语句就派上大用场啦!就像你打算给自己建个秘密基地,得先规
划好怎么建呀。

“create table 表名 (列名数据类型, 列名数据类型……)”,看,这就
是它的基本模样。

这就好比你给基地划分不同的区域,这个区域放玩具,那个区域放零食。

咱来举个具体例子哈。

比如说你要建个学生表,里面有学生的学号、姓名、年龄这些信息。

那你就可以这样写:create table students (id number, name varchar2(50), age number)。

哇塞,是不是感觉很神奇?就
这么简单的几行语句,一个能存学生信息的“小房子”就建起来啦!
这“create table oracle 语句”多重要啊,没有它,你的数据就像没家
的孩子一样到处流浪呢!它就像一个超级建筑师,能按照你的要求把
表建得稳稳当当的。

再想想,要是没有它,那数据不就乱套啦?那可不行呀!它可不就
是我们管理数据的得力小助手嘛!所以呀,咱可得好好掌握这个语句,让它为我们服务呀!
我的观点就是,“create table oracle 语句”真的是数据库世界里超级重要的存在呀,我们必须得好好学它、用它!。

oracle select create表格语句-概述说明以及解释

oracle select create表格语句-概述说明以及解释

oracle select create表格语句-范文模板及概述示例1:标题:Oracle SELECT语句创建表格的步骤和示例简介:Oracle的SELECT语句不仅可以查询现有的表格数据,还可以使用其结果集来创建新的表格。

本文将介绍如何使用Oracle的SELECT语句来创建表格,并提供一些示例以帮助您理解和应用这一功能。

内容:一、概述SELECT语句的表格创建功能在Oracle数据库中,SELECT语句可以用于创建新的表格。

它可以通过选择现有表格的特定列或者通过运算和处理现有表格数据的结果来创建新表格。

这是一个非常方便的功能,特别是在需要根据现有数据创建新表格进行分析和报表等应用时。

二、使用SELECT语句创建表格的步骤要使用SELECT语句创建表格,您需要遵循以下步骤:1. 编写合适的SELECT语句,以选择现有表格的特定列或者经过计算和处理的结果集。

2. 使用CREATE TABLE语句,将SELECT语句的结果作为新表格的数据进行存储。

3. 定义新表格的结构,包括列名、数据类型和约束等信息。

三、示例:使用SELECT语句创建表格以下是一个示例,演示了如何使用SELECT语句创建一个新的表格:sqlCREATE TABLE new_table ASSELECT column1, column2, column3FROM existing_tableWHERE condition;在上述示例中,我们从现有表格existing_table中选择特定列column1、column2和column3,并根据条件进行筛选,然后使用CREATE TABLE语句将查询结果存储到新表格new_table中。

注意,您可以根据实际需求自定义新表格的名称、列名和条件。

另外,如果需要对SELECT语句进行更复杂的操作,您还可以使用子查询、连接操作、函数和其他高级特性来创建新表格。

这些方法可以根据您的需求对数据进行进一步的处理和筛选。

Oracle数据库建表及其基本操作

Oracle数据库建表及其基本操作

1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。

oracle 建表语句 注释

oracle 建表语句 注释

一、概述数据库作为信息管理和处理的重要工具,对于存储和管理数据具有重要的作用。

在数据库中,表是数据存储和管理的基本单位,而建表语句则是创建数据表的重要步骤之一。

在Oracle数据库中,建表语句不仅包括数据表的结构定义,还包括对表和字段的注释信息,这些注释信息对于理解表的结构和字段的含义非常重要。

在编写Oracle建表语句时,注释的使用和规范非常重要。

二、建表语句中的注释1. 表注释在Oracle中,可以使用COMMENT关键字给表添加注释,注释内容可以是表的描述、用途、版本等相关信息,具体语法如下:```sqlCOMMENT ON TABLE table_name IS '表的描述';```其中,table_name为要添加注释的表名,'表的描述'为表的具体描述内容。

2. 字段注释在Oracle中,可以使用COMMENT关键字给表的字段添加注释,注释内容可以是字段的含义、数据类型、长度等相关信息,具体语法如下:```sqlCOMMENT ON COLUMN table_name.column_name IS '字段的描述';```其中,table_name为字段所在的表名,column_name为字段名,'字段的描述'为字段的具体描述内容。

三、注释的作用1. 提高可读性表和字段的注释可以帮助开发人员和数据库管理员更好地理解表结构和字段含义,从而提高代码的可读性和可维护性。

2. 方便文档生成注释信息可以作为数据库文档的一部分,方便生成数据库文档和数据字典,对于系统的理解和维护都具有重要意义。

3. 数据安全性注释信息可以作为数据安全的一部分,帮助开发人员对于敏感数据的处理和使用,从而提高数据的安全性和保密性。

四、注释的规范1. 注释内容注释内容应当简洁明了、准确清晰,在几句话中尽可能地描述表或字段的含义、用途和限制条件。

2. 注释位置注释应当与表或字段的定义语句紧密相连,方便在编写和维护建表语句时进行理解和参考。

Oracle创建表语句(Createtable)语法详解及示例

Oracle创建表语句(Createtable)语法详解及示例

Oracle创建表语句(Createtable)语法详解及⽰例创建表(Create table)语法详解1. ORACLE常⽤的字段类型ORACLE常⽤的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1NUMBER(p,s) 数字型p是位数总长度, s是⼩数的长度, 可存负数最长38位. 不够位时会四舍五⼊.DATE ⽇期和时间类型LOB 超长字符, 最⼤可达4GCLOB 超长⽂本字符串BLOB 超长⼆进制字符串BFILE 超长⼆进制字符串, 保存在外的⽂件⾥是只读的.数字字段类型位数及其四舍五⼊的结果原始数值1234567.89数字字段类型位数存储的值Number 1234567.89Number(8) 12345678Number(6) 错Number(9,1) 1234567.9Number(9,3) 错Number(7,2) 错Number(5,-2) 1234600Number(5,-4) 1230000Number(*,1) 1234567.92. 创建表时给字段加默认值和约束条件创建表时可以给字段加上默认值例如 : ⽇期字段 DEFAULT SYSDATE这样每次插⼊和修改时, 不⽤程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如: ⾮空 NOT NULL不允许重复 UNIQUE关键字 PRIMARY KEY按条件检查 CHECK (条件)外键 REFERENCES 表名(字段名)3. 创建表的例⼦CREATE TABLE DEPT(EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,DNAME VARCHAR2(14),LOC VARCHAR2(13)) ;CREATE TABLE region(ID number(2) NOT NULL PRIMARY KEY,postcode number(6) default '0' NOT NULL,areaname varchar2(30) default ' ' NOT NULL);4. 创建表时的命名规则和注意事项1)表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,#2)⼤⼩写不区分3)不⽤SQL⾥的保留字, ⼀定要⽤时可⽤双引号把字符串括起来.4)⽤和实体或属性相关的英⽂符号长度有⼀定的限制注意事项:1)建表时可以⽤中⽂的字段名, 但最好还是⽤英⽂的字段名2)创建表时要把较⼩的不为空的字段放在前⾯, 可能为空的字段放在后⾯3)建表时如果有唯⼀关键字或者唯⼀的约束条件,建表时⾃动建了索引4)⼀个表的最多字段个数也是有限制的,254个.5. 约束名的命名规则和语法约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是SYS_Cn(n是数字)约束名字符串的命名规则同于表和字段名的命名规则6. 使⽤约束时的注意事项约束⾥不能⽤系统函数,如SYSDATE和别的表的字段⽐较可以⽤本表内字段的⽐较想在事务处理后, 做约束的检查SQL> alter session set constraints deferred.7. 由实体关系图到创建表的例⼦ s_dept前提条件:已有region表且含唯⼀关键字的字段idSQL> CREATE TABLE s_dept(id NUMBER(7)CONSTRAINT s_dept_id_pk PRIMARY KEY,name VARCHAR2(25)CONSTRAINT s_dept_name_nn NOT NULL,region_id NUMBER(7)CONSTRAINT s_dept_region_id_fk REFERENCES region (id),CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id));8. 较复杂的创建表例⼦SQL> CREATE TABLE s_emp(id NUMBER(7)CONSTRAINT s_emp_id_pk PRIMARY KEY,last_name VARCHAR2(25)CONSTRAINT s_emp_last_name_nn NOT NULL,first_name VARCHAR2(25),userid VARCHAR2(8)CONSTRAINT s_emp_userid_nn NOT NULLCONSTRAINT s_emp_userid_uk UNIQUE,start_date DATE DEFAULT SYSDATE,comments VARCHAR2(25),manager_id NUMBER(7),title VARCHAR2(25),dept_id NUMBER(7)CONSTRAINT s_emp_dept_id_fk REFERENCES s_dept(id),salary NUMBER(11,2),commission_pct NUMBER(4,2)CONSTRAINT s_emp_commission_pct_ck CHECK(commission_pct IN(10,12.5,15,17.5,20)));8. 通过⼦查询建表通过⼦查询建表的例⼦SQL>CREATE TABLE emp_41 AS SELECT id, last_name, userid, start_dateFROM s_emp WHERE dept_id = 41;SQL> CREATE TABLE A as select * from B where 1=2;只要表的结构.10. ⽤⼦查询建表的注意事项1)可以关连多个表及⽤集合函数⽣成新表,注意选择出来的字段必须有合法的字段名称,且不能重复。

oracle数据库创建表语句

oracle数据库创建表语句

oracle数据库创建表语句摘要:1.Oracle 数据库简介2.Oracle 数据库创建表的基本语法3.Oracle 数据库创建表的具体示例4.Oracle 数据库创建表的注意事项正文:【Oracle 数据库简介】Oracle数据库是当前业界最流行的客户/服务器体系机构的数据库之一,它的性能卓越、安全性高、可扩展性强,被广泛应用于各个行业。

Oracle数据库系统由Oracle公司开发,是一款关系型数据库管理系统,它支持SQL(结构化查询语言)进行数据操作。

【Oracle 数据库创建表的基本语法】在Oracle 数据库中,创建表的基本语法如下:CREATE TABLE 表名(列名1 数据类型约束,列名2 数据类型约束,列名3 数据类型约束,...);其中,表名、列名和数据类型是必须的元素,约束可以指定也可以不指定。

【Oracle 数据库创建表的具体示例】下面是一个具体的Oracle 数据库创建表的示例:```CREATE TABLE employee(emp_no NUMBER PRIMARY KEY,emp_name VARCHAR2(50) NOT NULL,emp_age NUMBER,emp_salary NUMBER);```在这个示例中,我们创建了一个名为employee 的表,包含了4 个列:emp_no、emp_name、emp_age 和emp_salary。

其中,emp_no 是主键,emp_name 是非空列。

【Oracle 数据库创建表的注意事项】在Oracle 数据库创建表时,需要注意以下几点:1.表名和列名应遵循命名规范,不能使用关键字或者特殊字符。

2.数据类型要正确选择,以保证数据的正确存储和查询。

3.根据需要设置列的约束,如非空、唯一、主键等。

4.在创建表之前,需要确保已经创建了相应的用户和模式(schema)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

命令格式(红字为关键字,紫字为注释)
CREATE TABLE“方案名”.“表名”
(字段1 数据类型(长度),
字段2 数据类型(长度),
…….,
字段n 数据类型(长度),
CONSTRAINT约束名1 约束类型(约束参数),
CONSTRAINT约束名2 约束类型(约束参数)
………
CONSTRAINT约束名n 约束类型(约束参数))
TABLESPACE “表空间名”
STORAGE (INITIAL 1M*第一个区的大小*NEXT 1.5M*第二个区的大小*
MINIEXTENTS 2 *创建时已分配的区数* MAXEXTENTS 5 *可分配最大区数*
PCTINCREASE10 *每个区相对于上个区增长的百分比*
BUFFER_POOL DEFAULT *其参数有DEFAUT,RECYCLE和KEEP*) PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255;
要点释义
PCTFREE:指定表的每一个数据块为将来更新现有表行所保留的空间百分比。

其值必须在0和99之间,默认值为10。

PCTUSED:指定维持表的每个数据块已用空间的最小百分比。

当块中已用空间低于PCTUSED的时候,该块就成为新行插入对象。

默认值40。

注意:PCTFREE和PCTUSED之和要小于100,两者结合可以确定是把新行插入现有数据块还是新块中。

INITRANS:分配给表的每一个数据块的并发事务条目的初值。

范围1-255,默认1。

通常不需要改变INITRANS值。

每个更新块的事务需要该块中的一个事务条目,事务条目大小取决于操作系统,该参数保证最小数目的并发事务可以更快,有助避免动态分配事务条目的开销。

MAXTRANS:可更新分配给表的数据块的最大并发事务数。

范围1-255。

默认255。

一般不要更改MAXTRANS的值。

如果一个块中的并发事务超过了INITRANS的值,那么ORACLE在块中动态分配事务条目,直到超过MAXTRANS值。

例题
创建学生信息表,字段学号姓名年龄电话籍贯,约束:学号创建primary key约束并且不能为空,电话创建unique约束,年龄创建check约束(15-25岁)。

存储参数:初始区为1m大小,最大可分配区数4,区增量10。

PCTFREE为15,PCTUSED 为45。

INITRANS和MAXTRANS分别是2和244。

CREATE TABLE “SYSMAN”.“学生信息表”
(学号V ARCHAR2(12) NOT NULL,
姓名V ARCHAR2(8),
年龄NUMBER(2),
电话V ARCHAR2(2),
籍贯V ARCHAR2(2),
CONSTRAINT 年龄约束CHECK(年龄>=15 and 年龄<=25),
CONSTRAINT 学号约束PRIMARY KEY(学号),
CONSTRAINT 电话检查UNIQUE(电话))
TABLESPACE “SYSTEM”
STORAGE(INITIAL 1M
MAXEXTENTS 4
PCTINCREASE 10
BUFFER_POOL DEFAULT)
PCTFREE 15
PCTUSED 45
INITRANS 2
MAXTRANS 244;
扩展知识
可使用PCTFREE和PCTUSED参数控制数据块何时进入或离开表、索引或簇的可用清单。

使用PCTFREE参数设置最大的阈值,以控制对将来的行的更新操作保留多少数据块空间。

当某个数据块使PCTFREE装满时,ORACLE从相应段的可用清单中删除该块。

如果你预计只有很少的更新操作会增加行的大小,则可将PCTFREE设置为较低的值(如5或者10),使得ORACLE填满每个块的更多的空间。

但是,如果你预计更新操作将会经常增加行的大小,则将PCTFREE设置为较高的值(如20或30),使得ORACLE为已有行的更新操作保留更多的块空间;否则,将出现行链。

可使用PCTUSED参数设置最小块的阈值来控制一个数据块应在何时放回到相应段的可用清单中。

例如,所有段的缺省PCTUSED设置为40%,因此,当事务处理删除数据块中的行时,如果它只有39%是装满的,ORACLE将该数据块放回到相应段的可用清单中。

如果你预计很少有删除操作,则可设置PCTUSED为较高的值(如60),当偶然的删除操作发生时,使数据块弹出可用清单。

但是,如果你预计将PCTUSED 设置为较低的值(如40),使ORACLE不常产生块在表的可用空间中移进或移出的开销。

可使用INITRANS和MAXTRANS参数优化ORACLE如何在表、数据簇或索引的数据块中分配事务处理项。

INITRANS参数确定为事务处理项预分配多少数据块头部的空间。

当您预
计有许多并发事务处理要涉及某个块时,可为相关的事务处理项预分配更多的空间,以避免动态分配该空间的开销。

MAXTRANS参数限制并行使用某个数据块的事务处理的数量。

当您预计有许多事务处理将并行访问某个小表时,则当创建表时,应设置该表的事务处理项预分配更多的块空间,较高的MAXTRANS 参数值允许许多事务处理并行访问该表INITRANS 和MAXTRANS 参数的设置可能相应低一些(如分别为2和5)。

使用这样的设置,很少为事务处理项保留窨,使该表数据块的更多空间用于数据。

相关文档
最新文档