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权限
存储空间

必须指定:

表名
列名, 数据类型, 尺寸

语法:

create table my_dept(
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13));

查看表结构:

DESC my_dept;

在这里插入图片描述
使用子查询创建表:
使用AS subquery 选项,将创建表和插入数据结合起来
指定的列和子查询中的列要一一对应
通过列名和默认值定义列

CREATE TABLE table
[(column, column...)]
AS subquery;

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 my_employee
RENAME COLUMN job_id TO id;

删除表:

DROP TABLE my_employee;

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

清空表:
TRUNCATE TABLE语句:
–删除表中所有的数据
–释放表的存储空间
-RUNCATE语句不能回滚

TRUNCATE TABLE my_employee;

ENAME语句:改变表, 视图, 序列, 或同义词的名称(必须是对象的拥有者)

RENAME my_employee TO new_employee;

猜你喜欢

转载自blog.csdn.net/wangyeshun/article/details/82749399