Oracle中建立和管理普通表

1、建立普通表

02:25:59 SQL> create table deparment(

02:26:52   2   deptno number(4),dname varchar2(20),loc varchar2(12))

02:27:22   3  pctfree 20 pctused 50 tablespace users01

02:27:45   4   storage(minextents 3);

Table created.

02:28:19 SQL> alter table deparment rename to department;

Table altered.

02:28:52 SQL> desc department;

Name         Null?    Type

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

DEPTNO                 NUMBER(4)

DNAME                  VARCHAR2(20)

LOC                    VARCHAR2(12)

02:30:13 SQL> select tablespace_name,extents,bytes from user_segments

02:30:31   2    where segment_name='DEPARTMENT';

TABLESPACE_NAME                   EXTENTS      BYTES

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

USERS01                                 3     393216

02:30:47 SQL>

查看EMP1表段信息:

22:59:29 SQL> COL SEGMENT_NAME FOR A20

22:59:40 SQL> R

 1  select SEGMENT_NAME,SEGMENT_TYPE,BLOCKS,EXTENTS,INITIAL_EXTENT ,TABLESPACE_NAME from user_segments

 2*   where segment_name='EMP1'

SEGMENT_NAME         SEGMENT_TYPE           BLOCKS    EXTENTS INITIAL_EXTENT TABLESPACE_NAME

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

EMP1                 TABLE                       8          1          65536 USERS

23:00:31 SQL> SELECT TABLE_NAME,BLOCKS,NUM_ROWS,EMPTY_BLOCKS FROM USER_TABLES

23:01:31   2    WHERE TABLE_NAME='EMP1';

TABLE_NAME                         BLOCKS   NUM_ROWS EMPTY_BLOCKS

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

EMP1                                    4         13            0

23:01:40 SQL> ANALYZE TABLE EMP1 COMPUTE STATISTICS;

Table analyzed.

23:02:36 SQL> SELECT TABLE_NAME,BLOCKS,NUM_ROWS,EMPTY_BLOCKS FROM USER_TABLES

23:02:39   2    WHERE TABLE_NAME='EMP1';

TABLE_NAME                         BLOCKS   NUM_ROWS EMPTY_BLOCKS

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

EMP1                                    4         13            4

23:02:42 SQL> DELETE FROM EMP1;

13 rows deleted.

23:03:30 SQL> ANALYZE TABLE EMP1 COMPUTE STATISTICS;

Table analyzed.

23:03:35 SQL> SELECT TABLE_NAME,BLOCKS,NUM_ROWS,EMPTY_BLOCKS FROM USER_TABLES

23:03:39   2    WHERE TABLE_NAME='EMP1';

TABLE_NAME                         BLOCKS   NUM_ROWS EMPTY_BLOCKS

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

EMP1                                    4          0            4

23:03:43 SQL> TRUNCATE TABLE EMP1;

Table truncated.

23:04:37 SQL> ANALYZE TABLE EMP1 COMPUTE STATISTICS;

Table analyzed.

23:04:44 SQL> SELECT TABLE_NAME,BLOCKS,NUM_ROWS,EMPTY_BLOCKS FROM USER_TABLES

23:04:47   2    WHERE TABLE_NAME='EMP1';

TABLE_NAME                         BLOCKS   NUM_ROWS EMPTY_BLOCKS

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

EMP1                                    0          0            8

23:05:29 SQL> SELECT SEGMENT_NAME ,EXTENT_ID,BLOCKS FROM USER_EXTENTS

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-10-26 05:51:42

Oracle中建立和管理普通表的相关文章

oracle 占有很大空间-oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看。

问题描述 oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看. oracle中多出一些$$结尾表,占有很大的空间,忘高手帮忙看看. 使用Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name查询出: 解决方案 参考关于LOBSEGMENT和SYS_LOB**$$的释疑清理 oracle lobsegment

Oracle中创建和管理表详解

以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下   SQL> /* SQL> 对于表的操作: 创建表,修改表(添加新的列,改变当前某些列,删除列),删除表 SQL> 创建表: create table(需要create table的权限) SQL> 修改表: alter table tablename add/modify/drop SQL> 删除表:drop table tablename SQL> */ SQL> show

Oracle中创建临时表、外部表和分区表实例

临时表 在Oracle中,临时表是"静态"的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的.相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间.这就避免了与永久对象的数据争用存储空间. 创建临时表的语法如下: CREATE GLOBAL TEMPORARY TABLE table_name( column_name data_type,[column_name data_type,...] )ON CO

Oracle中对两个数据表交集的查询

oracle|数据 Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大.灵活和复杂的系统,据说,在使用oracle时应有这样的思想,那就是在SQL中几乎可以实现任何一种想法. 下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高.使用方便. 第一种方法:利用操作符intersect intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即返回两个查询结果的交集,前提是两个查询的列的数量和数据类型必须完全相同.

oracle中如何增加和扩展表空间

Oracle中增加表空间大小的四种方法 1:给表空间增加数据文件 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M; 2:新增数据文件,并且允许数据文件自动增长 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' S

oracle中 查询时间管理

1.关于时间显示参数 SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss'; 会话已更改. SQL> select systimestamp from dual; SYSTIMESTAMP --------------------------------------------------------------------------- 14-3月 -07 05.00.33.599000 下午 +08:00

Oracle中创建和管理表详解_oracle

SQL> /*SQL> 对于表的操作: 创建表,修改表(添加新的列,改变当前某些列,删除列),删除表SQL> 创建表: create table(需要create table的权限)SQL> 修改表: alter table tablename add/modify/dropSQL> 删除表:drop table tablenameSQL> */SQL> show user;USER 为 "SCOTT"SQL> --访问hr用户下的表SQ

Oracle中建立索引并强制优化器使用

当WHERE子句对某一列使用函数时,除非利用这个简单的技术强制索引,否则Oracle优化器不能在查询中使用索引. 通常情况下,如果在WHERE子句中不使用诸如UPPER.REPLACE 或SUBSTRD等函数,就不能对指定列建立特定的条件.但如果使用了这些函数,则会出现一个问题:这些函数会阻碍Oracle优化器对列使用索引,因而与采用索引的情况相比较,查询会花费更多的时间. 庆幸的是,如果在使用函数的这些列中包含了字符型数据,可以用这样一种方法修改查询语句,以达到强制性使用索引,更有效地运行查询

oracle 中的伪列和表

1.oracle的伪列 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Oracle完成的.Oracle目前常见的伪列:  currval 和 nextval 使用序列号的保留字          CURRVAL:返回当前sequence值         NEXTVAL:增加sequence并返回下一个值  一般用法:   sequence.CURRVAL   sequence