请问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使用。
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数据库
进入plsql
找到table那个大项,点出来,下边会罗列出许多表
右键点中你所需要的那个表名
找到DBMS_Metadata
然后选项里有ddl
弹出来那个窗口就是你的表结构,拷贝出来直接在另一个库里执行就可以啦
-----------------------------补充------------------------
PLSQL里
tools下
export user objects of
按shift批量选择表
执行就行了
create table newtable as
select *
from oldtable
where rownum<=1
再删掉这条记录