ORACLE学习-6.创建和管理表

创建表和管理表包括描述主要的数据库对象、创建表、描述各种数据库类型、修改表的定义、删除、重命名和清空表。常见的数据库对象有:

表:基本的数据存储集合,由行和列组成;

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

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

索引:提高查询的效率;

同义词:给对象起别名。

1.创建表 create table 语句

在创建表的过程中要注意字段及其表名的命名,还要注意字段的数据类型。关于命名规则和字段类型,参考附件一种的内容。

1.1常规的创建表

语法:

CREATE TABLE [schema.]table
        (column datatype [DEFAULT expr][, ...]);

必须具备create table权限和存储空间;

必须指定表名、列名、数据类型和尺寸;

CREATE TABLE dept    (deptno     NUMBER(2),
        dname     VARCHAR2(14),
        loc     VARCHAR2(13));

1.2使用子查询创建表

使用as subquery选项,将创建表和插入数据结合起来;

指定的列和子查询的列要一一对应;

通过列名和默认值定义列。

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

实例:

--复制表
create table emp1 as select * from employees;

--创建的emp2是空表。
create table emp2 as select * from employees where 1=2;

2.修改表 alter table 语句

使用alter table 语句可以追加新的列,修改现有的列,为新追加的列定义默认值删除一个列,重命名表中的一个列。

2.1 追加:

ALTER TABLE table
ADD           (column datatype [DEFAULT expr]
           [, column datatype]...);
--给dept80表追加一个新列job_id
ALTER TABLE dept80
ADD           (job_id VARCHAR2(9));

2.2 修改:

 ALTER TABLE table
MODIFY       (column datatype [DEFAULT expr]
           [, column datatype]...);
--修改last_name字段的数据类型
ALTER TABLE    dept80
MODIFY        (last_name VARCHAR2(30));
--修改salary字段的尺寸和默认值
ALTER TABLE    dept80
MODIFY        (salary number(9,2) default 1000);

2.3 删除:

 ALTER TABLE table
DROP COLUMN  column_name;
--删除dept80表中不在需要的job_id列
ALTER TABLE  dept80
DROP COLUMN  job_id; 

2.4 重命名:

ALTER TABLE table_name RENAME COLUMM old_column_name 
TO new_column_name
--将dept80表中的job_id字段重命名为id字段
ALTER TABLE  dept80
RENAME COLUMN  job_id TO id; 

3. 删除表

删除表的时候数据和结构都会删除,所有正在运行的相关事务会被提交,表的所有索引会删除,drop语句不能回滚。

--删除表dept80
drop table dept80;

4.清空表

truncate语句不能回滚,delete语句可以回滚。

--清空表
truncate table table_name;

附件一:

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

2.数据类型

数据类型 描述
 varchar2(size)  可变长度字符串
 char(size)  定长字符数据
number(m,n)  可变长数值数据 
 date 日期型数据 
long  可变长字符数据,最大长度可达2G 
 clob 字符数据,最大长度可达到4G 
 raw(long raw)  原始的二进制数据
 blob  二进制数据,最大可达到4G
 bfile  存储外部文件的二进制数据,最大可达到4G
 rowid  行地址

参考资料:尚硅谷

原文地址:https://www.cnblogs.com/hjwq/p/9522453.html