当前用户所有的表
select table_name from user_tables;
当前用户的所有对象
desc user_objects;
当前用户对象的别名
select * from cat;
oracle创建管理表
1)命名规则
必须以字母开头
1-30个字符长度
只能包含A-Z,a-z,0-9,_,$,#
同一用户所拥有的对象之间不能重名
不能使用oracle保留字
2)创建表
必须有create table的权限
必须有一个存储区域
create table [schema.] table(
column datatype [default expr]
............
);
数据类型
varchar2(size) 可变长度的字符数据
char(size) 固定长度的字符数据
number(p,s) 可变长度的数字数据,p表示总位数,s小数点后面的位数
data 日期和时间值
long 最大2G的可变长度字符数据
clob 最大4G的字符数据
raw and long raw 原始二进制数据
blob 最大4G的二进制数据
bfile 最大4G的,存储在外部文件中的二进制数据
rowid 一个64进制的数制系统,表示表中一行的唯一地址
子查询方式创建表
create table tbname
[(column,column....)] as subquery;
create table dept80
as
select eid,ename from emp;
3)alter table
alter table tbname
add (column datatype [default expr]
[,column datatype]...);
alter table tbname
modify (column datatype [default expr]
[,column datatype]...);
alter table tbname
drop column (column);
alter table dept
add (job varchar2(200));
alter table dept
modify (job varchar2(200));
alter table dept
drop column job;
4)rename 改变一个表、视图、序列、同义词
rename dept to detail_dept
5)截断表
truncate table ..
删除表中的所有行
释放表所使用的存储空间
管理约束条件
表级约束,列级约束
create table c(
c1 int primary key, --列级约束
c2 name not null, --列级约束
c3 number(6,2),
constraint chk_c3 check (c3>100) -- 表级约束
)
创建检测约束
alter table student
add ( constraint sex_constraint check (sex='男' or sex='女') );
alter table student
add ( constraint pk_s primary key(student_id) );
alter table student
add ( constraint fk_s foreign key(class_id)
references director(class_id);
alter table student
add ( constraint uk unique(name) );
删除约束
alter table student
drop constraint '性别约束'
启用约束
alter table student
enable constraint '性别约束'
禁用约束
alter table student
disable constraint '性别约束'
通过modify添加not null约束条件
alter table student modify ( column type not null) ;
查看约束条件
desc user_constraints;