您的位置:首页 > 数据库 > Oracle

ORACLE_创建和管理表

2016-01-07 15:27 381 查看

ORACLE_创建和管理表

①常见的数据库对象

表:主要的数据存储集合,由行和列组成。

视图:从表中抽出的逻辑上相关的数据集合。

序列:提供有规律的数值。

索引:提高查询的效率

同义词:给对象起别名

②Oracle 数据库中的表

1.用户定义的表:

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

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

2.数据字典:

由 Oracle Server 自己主动创建的一组表

包括数据库信息

③查询数据字典

查看用户定义的表.

SELECT table_name FROM user_tables ;

查看用户定义的各种数据库对象

SELECT DISTINCT object_type FROM user_objects ;

查看用户定义的表, 视图, 同义词和序列

SELECT * FROM user_catalog

④表名和列名命名规则:

1.必须以字母开头

2.必须在 1–30 个字符之间

3.必须仅仅能包括 A–Z, a–z, 0–9, _, $, 和 #

4.必须不能和用户定义的其它对象重名

5.必须不能是Oracle 的保留字

⑤CREATE TABLE 语句

必须具备:

1.CREATE TABLE权限

2.存储空间

CREATE TABLE [schema.]table

(column datatype [DEFAULT expr][, ...]);

3.必须指定:

表名

列名, 数据类型, 尺寸

4.数据类型:描写叙述

VARCHAR2(size):可变长字符数据

CHAR(size):定长字符数据

NUMBER(p,s):可变长数值数据

DATE:日期型数据

LONG:可变长字符数据,最大可达到2G

CLOB:字符数据,最大可达到4G

RAW (LONG RAW):原始的二进制数据

BLOB:二进制数据。最大可达到4G

BFILE:存储外部文件的二进制数据。最大可达到4G

ROWID:行地址

5.使用子查询创建表

使用 AS subquery 选项。将创建表和插入数据结合起来

CREATE TABLE table

[(column, column...)]

AS subquery;

指定的列和子查询中的列要一一相应

通过列名和默认值定义列

注:原来表中的数据会插入到新创建的表中,若不须要数据。加入一个FALSE条件就可以

⑥ALTER TABLE 语句

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

追加列

ALTER TABLE table

ADD (column datatype [DEFAULT expr]

[, column datatype]...);

改动列

ALTER TABLE table

MODIFY (column datatype [DEFAULT expr]

[, column datatype]...);

注:假设列中有数据是不能改动类型的,默认值仅仅对后加入的数据有效

删除列

ALTER TABLE table

DROP COLUMN column_name;

重命名列

ALTER TABLE table_name

RENAME COLUMM old_column_name TO new_column_name

设置列不可用

ALTER TABLE table_name

set unused COLUMM column_name

⑦删除表

数据和结构都被删除

全部正在执行的相关事务被提交

全部相关索引被删除

DROP TABLE 语句不能回滚

DROP TABLE table_name;

⑧清空表

TRUNCATE TABLE 语句:

删除表中全部的数据

释放表的存储空间

TRUNCATE语句不能回滚

能够使用 DELETE 语句删除数据,能够回滚

TRUNCATE TABLE table_name;

⑨改变对象的名称

运行RENAME语句改变表, 视图, 序列, 或同义词的名称

必须是对象的拥有者

RENAME old_object_name TO new_object_name;

注:以上DDL语言都不能回滚,运行完就默认提交
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: