--建表
1、普通方法 create
create table t_name
(
sno varchar2(10) primary key, --行行不同,不为null
sname varchar2(10) unique,--行行不同,可以null,但只能有一个null
sage integer check(sage between 0 and 200)
)
2、使用子查询创建表
create table t_emp as
select * from emp where deptno=30
create table a(temp) as --temp是列别名
select sal from emp where deptno=30 --只能有一列的查询
select * from a;
3、复制表结构,不复制数据
CREATE TABLE t_tmp AS
SELECT * FROM emp WHERE 1=2;
--数据字典:本身就是一组表,因为数据库里的所有数据都存储在表中。
--可以把该字典看作是“用来描述表的表”。
1、user_tables:存放所有的用户表的相关信息
select table_name from user_tables where table_name='A'
2、all_tables:
select * from all_tables
3、dba_tables: --dba身份访问
select * from dba_tables;
4、USER_OBJECTS:--所有用户对象
select * from USER_OBJECTS where object_type='TABLE'
--元数据
存储在数据字典中的数据通常也称为“元数据”。
元数据包含有两个级别:内部和外部。
内部级别包含那些由各个DBMS 软件组件所使用的表。
对最终用户来说,这些表通常不可见。
外部级别提供了这些基表的许多视图,
可使用这些视图访问不同详细程度的对象和结构信息。
--修改表(表结构) alter
--增加一列
alter table A
add(num number)
alter table A
add(birth date default sysdate) --增加默认约束
select * from b
--修改表中的列信息 modify
alter table A
modify(temp number(30,3) default 0)
insert into A(num) values(12)
alter table A
modify(temp number(30,3) check(temp>-1))
--改列名
alter table A rename column temp to sal
--删除列
alter table A drop(num,birth)
--设置某列不可用
alter table A set unused(sal)
--删除所有不可用的列
ALTER TABLE tablename DROP UNUSED COLUMNS;
--改表名
rename a to b
--删除表
drop table b;
--给表加注释
comment on table b is '这是个无用的表'
select * from USER_TAB_COMMENTS
--给列加注释
comment on column b.sal is '这是个无用的列'
select * from USER_col_COMMENTS
1、普通方法 create
create table t_name
(
sno varchar2(10) primary key, --行行不同,不为null
sname varchar2(10) unique,--行行不同,可以null,但只能有一个null
sage integer check(sage between 0 and 200)
)
2、使用子查询创建表
create table t_emp as
select * from emp where deptno=30
create table a(temp) as --temp是列别名
select sal from emp where deptno=30 --只能有一列的查询
select * from a;
3、复制表结构,不复制数据
CREATE TABLE t_tmp AS
SELECT * FROM emp WHERE 1=2;
--数据字典:本身就是一组表,因为数据库里的所有数据都存储在表中。
--可以把该字典看作是“用来描述表的表”。
1、user_tables:存放所有的用户表的相关信息
select table_name from user_tables where table_name='A'
2、all_tables:
select * from all_tables
3、dba_tables: --dba身份访问
select * from dba_tables;
4、USER_OBJECTS:--所有用户对象
select * from USER_OBJECTS where object_type='TABLE'
--元数据
存储在数据字典中的数据通常也称为“元数据”。
元数据包含有两个级别:内部和外部。
内部级别包含那些由各个DBMS 软件组件所使用的表。
对最终用户来说,这些表通常不可见。
外部级别提供了这些基表的许多视图,
可使用这些视图访问不同详细程度的对象和结构信息。
--修改表(表结构) alter
--增加一列
alter table A
add(num number)
alter table A
add(birth date default sysdate) --增加默认约束
select * from b
--修改表中的列信息 modify
alter table A
modify(temp number(30,3) default 0)
insert into A(num) values(12)
alter table A
modify(temp number(30,3) check(temp>-1))
--改列名
alter table A rename column temp to sal
--删除列
alter table A drop(num,birth)
--设置某列不可用
alter table A set unused(sal)
--删除所有不可用的列
ALTER TABLE tablename DROP UNUSED COLUMNS;
--改表名
rename a to b
--删除表
drop table b;
--给表加注释
comment on table b is '这是个无用的表'
select * from USER_TAB_COMMENTS
--给列加注释
comment on column b.sal is '这是个无用的列'
select * from USER_col_COMMENTS