Oracle 之创建和管理表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z_x_Qiang/article/details/84558694

Oracle 之创建和管理表

常见的数据库对象:

对象

描述

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

表名和列名的定义规则:

必须以字母开头

必须在1-30个字符之间

必须只能包含A-Z ,a-z, 0-9, _ ,$ ,#

必须不能和用户顶一顶额其他对象重名

必须不不能是oracle的保留字;

创建表的权限:

--create table 权限

--存储空间

基本语法:

create table xxx(name varchar(10),age number(2));

常用的数据类型:

数据类型 描述
varchar2(size) 可变长字符数据
char(size) 定长的字符数据
number(p,s) 数据类型,p表示数字的位数,s表示小数点后的位数
date 日期类型
long 可变长字符数据,最大可达2g
clob 字符数据,最大可达4g
raw(long raw) 原始的二进制数据
blob 二进制数据,最大可达4g
bfile 存储外部文件的二进制数据,最大可达4g
rowid 行地址

子查询创建表

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

这种方式可以从已知的表中进行获取数据,然后创建新的表;

例如:表的复制

create table emp1 as select * from employees;

create table emp2 as select * from employees where 1=2;        条件是假的,所以创建的emp2 是空表;

ALTER TABLE 语句

--追加新的列

新列在表的最后一个;

alter table tableName add (job_id varchar(10));

--修改现有的列

可以修改列的数据类型,尺寸,默认值

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

alter table tableName modify (last_name varchar(20));

--为新追加的列定义默认值

alter table tableName modify(salary number(9,2) default 1000);

--删除一个列

使用drop column 子句删除不在需要的列

alter table tableName drop column job_id;

--重命名表的一个列名;

使用RENAME COLUMN ...to 子句重命名一个列

alter table tableName rename column job_id to id;

删除表

数据和结构都会被删除;

所有正在运行的相关事务被提交

素有相关索引被删除

drop table 语句不能回滚

drop table tableName;

清空表

--truncate table 语句

删除表中的所有的数据,释放表的存储空间;

truncate table tableName;

--不能回滚;

可以使用delete语句删除数据,可以回滚;

改变对象的名称

执行rename语句改变表,视图,序列,同义词的名称

rename dept to hhah_dept;

必须是对象的拥有者;

猜你喜欢

转载自blog.csdn.net/z_x_Qiang/article/details/84558694