oracle数据库学习06

表的基本操作(创建与管理)

数据表的基本概念

数据表是一种“行与列”数据的组合,也是数据库中最基本的组成单元,所有数据操作都是建立在数据表之上的。

表中最基本的组成单元是字段,每一个字段都有其类型。
基本数据类型在前面有介绍最常用的VARCHAR2,NUMBER,DATE.

表的创建

 CREATE TABLE 用户名.表名称(
       字段名称    字段类型   [DEFAULT]
          字段名称   字段类型   [DEFAULT]
          ......
          );

表名称及字段名称的定义要求如下:

  • 必须以字母开头

  • 长度1-30个字符

  • 表名称起名要有意义,由字母,数字,下划线组成

  • 同一个用户不能使用相同的表名称

  • 不能是保留字

CREATE TABLE member(
      mid         NUMBER(5)
      name        VARCHAR2(50)
      age         NUMBER(3)
      birthday    DATE
);

小提示:创建完成后可以使用 SELECT * FROM tab;进行查询创建是否成功;

除了创建新表,还可以复制已知数据表的单列或多列组成新表

格式:

CREATE TABLE 表名称 AS 子查询;

例:

CREATE TABLE myemp10 AS SELECT * FROM  emp WHERE deptno=10;

数据表重命名

格式:

RENAME 旧表名称 TO 新表名称;

例:将member表修改为mldnuser表;

RENAME member TO mldnuser;

数据字典

在Oracle中专门提供了一组数据专门用于记录数据库对象信息、对象结构、管理信息、存储信息的数据表,那么这种类型的表就成为数据字典。
分为:

静态数据字典:由表和视图组成
动态数据字典:随数据库运行不断更新的数据表。

表的截断

立即清空数据表,释放资源。
格式:

TRUNCATE TABLE 表名称;

例:截断mldnuser表

TRUNCATE TABLE mldnuser;

表的删除

一般格式:

DROP TABLE 表名称;

闪回:删除之后会留下残余(以防误删除,还留在数据库的回收站recyclebin中)
如果需要恢复:
格式:

FLASHBACK TABLE 表名称 TO  BEFORE DROP;

如果需要彻底删除不经回收站
格式:

DROP TABLE 表名称 PURGE;

如果已经执行了第一条语句将信息放入回收站里去了想要删除
格式:

PURGE TABLE 表名称;

如果想要清空回收站

PURGE RECYCLEBIN;

修改表结构

(如果可以尽量把表删了重新加入建立,alter指令慎用)

格式:

ALTER 数据类型 名称;

为表中增加数据字段时需给出字段名称,类型,默认值
格式:

ALTER TABLE 表名称 ADD (字段名称 字段类型 DEFAULT 默认值,...);

如果发现表中某一列设计不合理,对已有列进行修改;
格式:

ALTER TABLE 表名称 MODIFY(字段名称 字段类型 DEFAULT 默认值);

例: 将name字段的长度修改为30,将sex字段的默认值修改为女;

ALTER TABLE member MODIFY(name VARCHAR2(30));
ALTER TABLE member MODIFY(sex VARCHAR2(3) DEFAULT'女');

删除表中的一列

ALTER TABLE 表名称 DROP COLUMN 列名称;

无用字段设置

将表中字段设置为无用状态
ALTER TABLE 表名称 SET UNUSED(列名称);

添加注释

COMMENT ON TABLE 表名称( | COLUMN 表名称.列名称) IS '注释内容';

设置可见/不可见列

如果在设计数据表的时候考虑到日后还要增加若干个列,如果提前增加会让查询者不知道这些列做什么,为此可将暂时不使用的列定义为不可见状态,但需要这些列的时候再进行恢复。

格式:
ALTER TABLE 表名称 MODIFY(name INVISIBLE);

表空间

(划重点!!!)
表空间时oracle数据库之中最大的一个逻辑结构,每个oracle数据库都会由若干个表空间所组成,而每一个表空间将由多个数据文件组成。用户所创建的数据表也统一被表空间所管理。
一般分为两类:

系统表空间:在数据库创建时与数据库一起建立起来的。
非系统表空间: 由具备制定管理员权限的数据库用户建立,用于保存用户数据、索引等数据库对象。

创建表空间

CREATE [TEMPORARY] TABLESPACE 表空间名称
( [DATAFILE | TEMPFILE 表空间文件保存路径... ] [SIZE 数字[ K | M ]]
[AUTOEXTEND ON | OFF] [NEXT 数字 [K | M]]
[LOGGING | NOLOGGING];)

说明:

  • DATAFILE:保存表空间的路径,可以设置多个保存路径;
  • TEMPFILE:保存零四表空间的磁盘路径;
  • SIZE:开辟的空间大小,其单位有K(字节)和M(兆);
  • AUTOEXTEND:是否为自动扩充表空间 ON|OFF;
  • NEXT:可以定义表空间的增长量;
  • LOGGING | NOLOGGING:对DML进行日志记录,记录下的日志可以用于数据恢复。

例:
永久表空间

CREATE TABLESPACE mldn_data
DATAFILE 'd:\mldnds\mldn_data01.dbf' SIZE 50M,
AUTOEXTEND on NEXT 2M
LOGGING;

暂时表空间

CREATE TEMPORARY TABLESPACE mldn_temp
TEMPFILE 'd:\mldnds\mldn_temp01.dbf' SIZE 50M
AUTOEXTEND on NEXT 2M;

创建数据表并使用特定表空间
格式:

CREATE TABLE 用户名.表名称(
             字段名称   字段类型   DEFAULT   默认值,
             字段名称   字段类型   DEFAULT   默认值,
             ......
)TABLESPACE 表空间名称;

吐槽:表的知识是真的多!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值