Oracle的数据表:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

l         关系表

l         临时表

l         索引表

l         外部表

l         对象表

8.1数据类型

名称                               含义

Char                     用于描述定长的字符型数据,长度<=2000字节

varchar2                 用于描述变长的字符型数据,长度<=4000字节

nchar                    用来存储Unicode字符集的定长字符型数据,长度<=1000字节

nvarchar2                用来存储Unicode字符集的变长字符型数据,长度<=1000字节

number                   用来存储整型或者浮点型数值

Date                     用来存储日期数据

Long                     用来存储最大长度为2GB的变长字符数据

Raw                      用来存储非结构化数据的变长字符数据,长度<=2000字节

Long raw                 用来存储非结构化数据的变长字符数据,长度<=2GB

rowid                    用来存储表中列的物理地址的二进制数据,占用固定的10个字节

Blob                     用来存储多达4GB的非结构化的二进制数据

Clob                     用来存储多达4GB的字符数据

nclob                    用来存储多达4GB的Unicode字符数据

Bfile                    用来把非结构化的二进制数据存储在数据库以外的操作系统文件中

urowid                   用来存储表示任何类型列地址的二进制数据

float                    用来存储浮点数

8.2创建表的策略

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />8.2.1合理设计表

这个不需要多说,这是创建一个高效的数据库的关键。至于如何设计一个高效的数据库,是一个从需求分析-〉概念结构设计-〉逻辑结构设计-〉物理设计的过程,这里很大一部分靠的是实际经验。积累吧,呵呵。

8.2.2合理的使用块中的存储空间

前几章已经讲过,如果经常使用update操作则需要加大PCTFREE值,如果经常使用insert操作则需要加大PCTUSED值。

8.2.3合理指定表存储位置

尽量不要将用户表创建在SYSTEM表空间中,尽量不要将同一个应用中的表分散在不同的表空间中。

8.2.4使用NOLOGGING

在使用CREATE TABLE…AS SELECT语句时,尽量加上NOLOGGING子句。

8.2.5大型表策略

尽量将表和索引放在不同的表空间中,为其分配足够的临时空间。

8.3创建表

8.3.1创建关系表

创建表的语法很简单,如上图。不过这两个表是创建在了SYSTEM表空间中了。

上图的例子是通过查询创建的表,为了使用新的表空间,我们首先创建了一个名字叫test的表空间,之后又将temp2这张表创建在了test表空间中。当然这里也使用了很多参数,参数含义在前几章已经讲过了。下面我们再举一个参数比较全一点的例子如下图:

8.3.2创建临时表

临时表在自动删除的时候有两种情况,一种是事物结束,一种是会话结束。

l         一种是事物结束:on commit delete rows

l         一种是会话结束: on commit preserve rows

如图:

8.3.3控制台创建表

以上都是使用oracle的sqlplus worksheet 工具通过psql来创建表,当然我们也可以通过控制台通过鼠标来创建表

如上图,在展开的方案项目中鼠标右键表项目,通过创建选项也可以创建表。细节就不多说了,基本上的意思就是将我在上面提到的参数通过鼠标点选来创建表。

8.4修改表

以上为修改表的语法示例。

8.5表存储空间

8.5.1分配表存储空间

一般来说当一个表需要更多的空间时oracle会自动分配。不过有时候我们可以手动为表分配新区。

增加一个大小等于next值的新区。

8.5.2回收表存储空间

回收了所有空闲区空间。

8.6删除表

删除的语法很简单:

Delete from temp1;删除表中所有数据,比较占资源。

Drop table temp1;将整个表彻底删除。

Truncate table temp1;快速删除表中所有数据。

8.7约束

8.7.1定义约束

隐式约束,如下图

显式约束如下图:

8.7.2添加、删除约束

上图的语法演示了如何添加和删除一个约束。

8.7.3禁用、激活约束

有时候我们在插入批量数据的时候,会遇到数据库报的违反约束的错误,特别是外键约束尤其会引起这方面的问题。这个时候我们就需要将各个约束禁用掉,等修改好数据之后,再将其激活。语法如下图:

转载于:https://www.cnblogs.com/coffeeliu/archive/2006/08/02/466104.html

(oracle)八、表相关推荐

  1. Oracle的表简单介绍

    Oracle的表 一.表的概念 表是数据库最基本的逻辑结构,一切数据都存放在表中,其它数据库对象(索引.视图.同义词等)都是为了更方便的操作表中的数据.Oracle数据库是由若干个表组成,每个表由列和 ...

  2. 数据库-玩转数据-Oracle的表空间及表分区

    Oracle的常用知识中,表空间和分区表是一定要掌握的知识,这对Oracle DBA来说至关重要,对相应开发人员也需有所了解. 一.表空间及分区表的概念 表空间:是一个或多个数据文件的集合,所有的数据 ...

  3. oracle加上默认值,Oracle创建表,并添加默认值和备注

    create table testemp( id varchar2(50) default sys_guid(), deptno varchar2(20) ,--部门编码 ename varchar2 ...

  4. oracle建表语句空间,oracle建表空间语句

    一.能帮我解释一下oracle创建表空间的语句吗 1. 创建表空间,名称为db_name; 2. 表空间有一个数据文件*.dbf,大小为200MB; 3. 允许表空间自动扩展(autoextends) ...

  5. oracle主从关系表查询,Oracle 主从表联合查询解决方法

    Oracle 主从表联合查询 表A id   type   name 1    E      AA 2    F 表B id   Aid    name 1    2      BB 2    2   ...

  6. oracle有一百个人围一圈报数,案例:Oracle创建表时报session超过最大值 ORA-00018 证明递归ses...

    天萃荷净 创建表时报session超过最大值 证明递归session存在并不在v$session中显示 我们在数据库的使用过程中,有时候会遇到类似情况,我会话是登录的,但是我进行某种操作,缺报sess ...

  7. python使用pandas基于时间条件查询多个oracle数据表

    python使用pandas基于时间条件查询多个oracle数据表 目录 python使用pandas基于时间条件查询多个orcale数据表 #orcale数据连接

  8. Oracle数据库表导出和导入csv文件操作

    Oracle数据库表导出和导入csv文件操作 数据库是Oracle 9i 1.导出csv文件 这个十分简单,用pl/sql工具即可,首先选中要导出的表,右键选择Query data,在左侧出现的窗口中 ...

  9. 神秘的 ORACLE DUAL表

    神秘的 ORACLE DUAL表 DUAL ? 有什么神秘的? 当你想得到ORACLE系统时间, 简简单单敲一行SQL 不就得了吗? 故弄玄虚-. SQL> select sysdate fro ...

  10. Oracle数据库表设计时的注意事项

    Oracle数据库表设计时的注意事项  表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据 ...

最新文章

  1. 【Qt】使用QCamera获取摄像头,并使用图像视图框架QGraphics*来显示
  2. sql server 的一些记录
  3. HDU 1426(数独)
  4. Dataset之JFT:JFT/FastEval14k数据集的简介、下载、案例应用之详细攻略
  5. .net随笔-vb.net打开外部程序发送键盘信号(2)
  6. python中readlines,在Python中连续两次使用readlines
  7. [C++11]返回值类型后置
  8. Openwrt 串口密码登入【ZT】
  9. MySQL Processlist 讲解
  10. C语言显示系统时间的几个办法
  11. 网页设计制作CSS实现隔行换色两种方法
  12. ArrayUtils
  13. 输出svn版本号到头文件
  14. ubuntu上常用的软件安装
  15. 程序输出我是java小公主,我的同学英文
  16. 【解决】client does not support authentication转载的两种解法
  17. Win10系统重装 华硕笔记本电脑
  18. 打飞机python(完整版)
  19. 国内手机号码归属地查询WEB服务
  20. 黑苹果手动修改intel hd3000核显显存大小.2022-11-29

热门文章

  1. linux SU不用密码,linux设置su和sudo为不需要密码
  2. 查python的软件_Python制作天气查询软件【python实战必学】
  3. java随机生成字母用三元运算符,【代码笔记】Java常识性基础补充(一)——赋值运算符、逻辑运算符、三元运算符、Scanner类、键盘输入、Random类、随机数...
  4. BadZipfile: File is not a zip file
  5. VIM E297: Write error in swap file
  6. pytroch model??(查看官方模型写法)
  7. python换行输出三个数中最大数_关于Python 3中print函数的换行详解
  8. excel表格行列显示十字定位_取消excel单元格十字定位(excle表格里的十字对准)
  9. 计算机视觉专硕:OCR、实习和秋招
  10. plsql 存储过程 批量提交_新一代的键值存储 KVell SOSP 2019