请问oracle数据库如何导出数据库的表结构?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问oracle数据库如何导出数据库的表结构?相关的知识,希望对你有一定的参考价值。

我现在要把oracle的数据库表结构导到另外一个库,就是只导表,不导表内的数据。由于表比较多,请问有什么方便的方法可以实现呢?
PLSQL可以实现么?
先谢谢各位了

to tj_angela:
这个是比较方便,但是这样会不会更好:
create table newtable as
select *
from oldtable
where 1=2;
而且好像很难做到批量的生成哦,因为我有很多表呢

to hotyxm:
方法应该是可行的,但是用PLSQL可以实现么,谢谢 ^_^

to badkano;
PLSQL中DBMS_Metadata->dll的方法好像只是对一个表操作吧?我选了几个表,但是最后只帮我创建我选的最后一个表的?不知道如何一次把N多的表导出来

----------------------2009-02-26

谢谢三位!
呵呵,其实hotyxm和badkano的都想采纳为答案呢,方法都是可行,不错!
不过只能选一个呢,badkano的方法可以任意选表,方便好用,呵呵!

oracle数据库导出数据库的表结构:

1、电脑键盘同时按windows键和R键

2、在弹出的运行栏输入【cmd】,点击确定

3、进入oracle命令行界面,输入用户名和密码,点击回车

4、登录成功设置导出数据参数,选择数据文件导出路径,点击回车

5、操作完成,找到存放的路径,可以看到此书生成一个DMP文件。

扩展资料:

数据导出数据库的命令总结:

1 将数据库zxcc完全导出,用户名kf 密码zx 导出到D:\\zxcc.dmp中

exp kf/zx@zxcc file=d:\\zxcc.dmp full=y (一般full=n,否则会全库的所有对象导出)

(exp user/password@192.168.0.46/orcl10g file=F:/fileSys.dmplog=F:/fileSys.log

statistics=nonetables=file_attach,file_tree,file_permission)

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2 将数据库zxcc中kf用户与cc用户的表导出

exp kf/zx@zxcc file=d:\\zxcc_ur.dmp owner=(kf,cc)

full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。

3 将数据库zxcc中的表kf_operator、kf_role导出

exp kf/zx@zxcc file= d:\\zxcc_tb.dmp tables=(kf_operator,kf_role)

tables=xx 表示备份相关表,不能同时和owner、full使用。

参考技术A

oracle数据库导出数据库的表结构,使用sql查询将查到的数据复制到Excel表中保存中即可。查询代码:

SELECT t.table_name,

t.colUMN_NAME,

t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',

t1.COMMENTS

FROM User_Tab_Cols t, User_Col_Comments t1

WHERE t.table_name = t1.table_name

AND t.column_name = t1.column_name;

扩展资料

Oracle Export导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最为广泛 。

Sql Insert导出为.sql文件的,可用文本编辑器查看,通用性比较好,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有会提示不能导出。

(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。  

pl/sql developer导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。

参考资料:百度百科 Oracle数据库

百度百科 数据表结构

参考技术B

1、打开PLSQL,找到工具栏,打开“导出表”,如图。

2、进入导出主页,输入需要导出的文件名称。

3、点击保存。

4、点击一下右下角的“导出”,就可以看到导出数据的概况。

5、流程: Tools –> Export User Objects。

6、最后点击导出就可以了,导出的文件格式为.sql ,查看文本编辑器查看person.sql文件。

7、如图所示,中途若无报错,则可以根据选定的路径找到文件,备份操作完成。

参考技术C 哪有那么麻烦?
进入plsql
找到table那个大项,点出来,下边会罗列出许多表
右键点中你所需要的那个表名
找到DBMS_Metadata
然后选项里有ddl
弹出来那个窗口就是你的表结构,拷贝出来直接在另一个库里执行就可以啦
-----------------------------补充------------------------

PLSQL里
tools下
export user objects of
按shift批量选择表
执行就行了本回答被提问者采纳
参考技术D 有个办法,先插一条记录
create table newtable as
select *
from oldtable
where rownum<=1

再删掉这条记录

如何将oracle用户下的表,视图结构导出

在oracle中,如何将用户下的表结构,视图结构导出?

首先要弄清楚的是,你导出的目的是什么?是为了在另外一个库上重建么,或者仅仅是要看一看。
是要导出该用户下所有的吗?数据库的版本是什么?
给你一个简单的比较通用的办法,用exp导出
我在10.2.0.1下测试通过,应该可以用于9i以上版本。

$ exp test/oracle owner=test rows=n file=exp.dmp log=exp.log
这样是导出test用户下的所有对象,rows=n 即不导出数据,只导出表结构。
导出文件是exp.dmp 。这个是不可读的,你可以用如下命令获得表结构
$ imp test/oracle file=exp.dmp show=y log=imp.log
show=y 即不真正执行导入,只将导入要做的事情记录到imp.log当中。
执行结束。可以在imp.log中看到类似如下的信息

"CREATE TABLE "TEST" ("A" NUMBER, "B" NUMBER) PCTFREE 10 PCTUSED 40 INITRAN"
"S 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER"
"_POOL DEFAULT) TABLESPACE "USERS" LOGGING NOCOMPRESS"

"CREATE TABLE "TN" ("NAME" VARCHAR2(1000)) PCTFREE 10 PCTUSED 40 INITRANS 1"
" MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_PO"
"OL DEFAULT) TABLESPACE "USERS" LOGGING NOCOMPRESS"
I

这就是原来在test用户下的2张表的结构了
参考技术A 可以借助plsql工具实现tools---->Export User Objects 参考技术B 使用oracle自带的实用程序exp或expdp

以上是关于请问oracle数据库如何导出数据库的表结构?的主要内容,如果未能解决你的问题,请参考以下文章

如何将oracle数据库中的表导出指定结构的表?

如何将oracle用户下的表,视图结构导出

oracle 怎么导出数据库中的表

ORACLE 如何只导出导入索引?

如何用PowerDesigner逆向工程导出ORACLE数据库表结构

如何用PowerDesigner逆向工程导出ORACLE数据库表结构