Oracle开发专题之:常用操作,复制表结构等
1. 复制表结构及其数据:
create table table_name_new as select * from table_name_old
2. 只复制表结构:
create table table_name_new as select * from table_name_old where 1=2;
3. 只复制表数据:
如果两个表结构一样:
insert into table_name_new select * from table_name_old
如果两个表结构不一样:
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
select * from (
select tb.*, rownum from table_name tb where column_name like '20080311%' order by id)
where rownum=1
可以通过查询语句对系统表 user_tables 进行查询。
例如要列出用户表中都存在那些表,它们所使用的表空间是那个,可以用下面的语句进行查询
select table_name,tablespace_name from user_tables;
select * from dba_free_space
select * from dba_data_files
select b.file_id 文件ID号,b.tablespace_name 表空间名,b.bytes 字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,sum(nvl(a.bytes,0)) 剩余空间,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id