一、常见的数据库对象

对象 描述
基本的数据存储集合,由行和列组成
视图 从表中抽出的逻辑上相关的数据集合
序列 提供有规律的数值
索引 提高查询的效率
同以词 给对象起别名

二、Oracle 数据库中的表

用户定义的表:

  • 用户自己创建并维护的一组表
  • 包含了用户所需的信息

如:SELECT * FROM user_tables,查看用户创建的表

数据字典:

  • 由 Oracle Server 自动创建的一组表
  • 包含数据库信息

三、查询数据字典

  • 查看用户定义的表.
SELECT table_name
FROM user_tables ;
  • 查看用户定义的各种数据库对象
SELECT DISTINCT object_type
FROM user_objects ;
  • 查看用户定义的表, 视图, 同义词和序列
SELECT    *
FROM user_catalog ;

三、命名规则

表名和列名:

  • 以字母开头
  • 在 1–30 个字符之间
  • 只能包含 A–Z, a–z, 0–9, _, $, 和 #
  • 不能和用户定义的其他对象重名
  • 不能是Oracle 的保留字

四、CREATE TABLE 语句

必须具备:

  • CREATE TABLE权限
  • 存储空间

必须指定:

  • 表名
  • 列名, 数据类型, 大小

数据类型

数据类型 描述
VARCHAR2(size) 可变长字符数据
CHAR(size) 定长字符数据
NUMBER(p,s) 可变长数值数据
DATE     日期型数据
LONG 可变长字符数据,最大可到达2G
CLOB 字符数据,最大可达到4G
RAW(LONG RAW) 原始的二进制数据
BLOB   二进制数据,最大可达到4G
ROWID 行地址

五、ALTER TABLE 语句

使用 ALTER TABLE 语句追加, 修改, 或删除列的语法

①、追加一个新的列

ALTER TABLE   dept
ADD (job_id VARCHAR2(9));
Table altered.

②、修改一个列

可以修改列的数据类型、大小、默认值

ALTER TABLE    dept
MODIFY (last_name VARCHAR2(30));
Table altered.
ALTER TABLE    dept
MODIFY (salary number(9,2) default 1000);
Table altered.

对默认值的修改只影响今后对表的修改

③、删除一个列

使用 DROP COLUMN 子句删除不再需要的列.

ALTER TABLE  dept
DROP COLUMN job_id;
Table altered.

④、重命名一个列

使用 RENAME COLUMN [table_name] TO 子句重命名列

ALTER TABLE  dept
RENAME COLUMN job_id TO jobid;
Table altered.

六、删除表

  • 数据和结构都被删除
  • 所有正在运行的相关事务被提交
  • 所有相关索引被删除
  • DROP TABLE 语句不能回滚
DROP TABLE dept;
Table dropped.

七、清空表

TRUNCATE TABLE 语句:

  • 删除表中所有的数据
  • 释放表的存储空间
TRUNCATE TABLE employee
  • TRUNCATE语句不能回滚
  • 可以使用 DELETE 语句删除数据,可以回滚

八、改变对象的名称

执行RENAME语句改变表, 视图, 序列, 或同义词的名称;必须是对象的拥有者

RENAME dept TO detail_dept;
Table renamed.

Oracle——创建和管理表的更多相关文章

  1. Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...

  2. Oracle_创建和管理表

    创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...

  3. DML语句、创建和管理表

    insert语句基本语法: insert into table(column) values(values); insert into dept (deptno,dname,loc) values(5 ...

  4. Oracle创建用户、表(1)

    Oracle创建用户.表(1) 1. 连接 C:\Users\LEI>sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on ...

  5. Oracle创建、管理撤销表空间

    撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...

  6. oracle中用SQL语句创建和管理表

    表名和列名的命名规则: 必须以字母开头 必须在1-30个字符之间 只能包含A-Z,a-z,0-9,_,$,# 不能与用户定义的其它对象重名 不能使用ORACLE的保留字 创建前具备的条件: CREAT ...

  7. Oracle系列十 创建和管理表

    常见的数据库对象 Oracle 数据库中的表 用户定义的表: 用户自己创建并维护的一组表 包含了用户所需的信息 如:SELECT * FROM user_tables;查看用户创建的表 数据字典: 由 ...

  8. 创建和管理表【weber出品必属精品】

    创建表 必须有 : 1. CREATE TABLE 的权限 SQL> conn /as sysdba 已连接. SQL> create user test default tablespa ...

  9. Oracle创建新undo表空间最佳实践(包含段检查)

    在处理一则ORA-600 [4194]案例时,参考MOS文档:Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ...

随机推荐

  1. 避免Android内存泄露

    摘自:http://blog.csdn.net/xyz_lmn/article/details/7108011 Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的 ...

  2. ThinkPHP5.1开启调试和错误提示

    app/config,php中找到 show_error_msg=false  改为True; 再将 'app_debug' => false 改为True;

  3. MongoDB-WriteConcern

    WriteConcern safe=false 非安全模式 很快

  4. shell编程中用户输入处理(shell 04)

    shell编程中用户输入处理1.命令行参数2.脚本运行时获取输入 命令行参数 通过空格来进行分割的位置参数 :$+position $0,$1,$2 ....$0 :程序名$1,$2,$3 ... $ ...

  5. 阿里云OSS图片上传类

    1.阿里云基本函数 /** * 把本地变量的内容到文件 * 简单上传,上传指定变量的内存值作为object的内容 */ public function putObject($imgPath,$obje ...

  6. python学习(十五) 屏幕抓取

    15.1 屏幕抓取 15.1.1 Tidy和XHTML解析 Tidy:用来修复不规范且随意的HTML文档的工具. 为什么用XHTML: 和旧版本的HTML之间最主要的区别:HTML可能只用一个开始标签 ...

  7. MFC学习(四) 消息机制

    1 消息机制的要点: 消息队列:先进先出 消息循环:通过循环while,不断的从消息队列中取得队首消息,并分发消息. 消息处理:根据不同的消息类型做不同的处理 事件:事件响应函数 2 消息机制 _tW ...

  8. 分析java类的静态成员变量初始化先于非静态成员变量

    依上图中当class字节码文件被jvm虚拟机加载到内存中依次经过 连接 验证:对字节码进行验证 准备:给静态变量分配内存并赋予变量类型各自的默认值(注:基本类型为0或false,对象为null,sta ...

  9. 列举不少于6条的IE与FF脚本兼容性问题,需要写出命令

    (1) window.event: 表示当前的事件对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象 (2) 获取事件源 IE用srcElement获取事件源,而FF用target获取 ...

  10. python's fourth day for me 列表

    break 可以打断 for 循环不执行 else 语句 s = 'fdddsadwes' for i in s: if i == 's': break #可跳出for循环且不用执行else语句 pr ...