Oracle——创建和管理表
一、常见的数据库对象
对象 | 描述 |
表 | 基本的数据存储集合,由行和列组成 |
视图 | 从表中抽出的逻辑上相关的数据集合 |
序列 | 提供有规律的数值 |
索引 | 提高查询的效率 |
同以词 | 给对象起别名 |
二、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.