可用sqlplus的方式
成都创新互联-专业网站定制、快速模板网站建设、高性价比交口网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式交口网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖交口地区。费用合理售后完善,十余年实体公司更值得信赖。
先在某文件夹下(我就直接以C盘根目录为例了)
创建main.sql文件
内容如下
set linesize 200
set term off verify off feedback off pagesize 0
set head off
set trimout on
set trimspool on
spool aaa.txt
@export.sql
spool off
exit
其中aaa.txt是你要保存的文件名,这里貌似不能导成excel,只可以保存成csv格式,然后你再自己转换吧,文本是没问题的,其中@export.sql 是另一个文件,内容如下
你要想把数据导成以逗号分隔
脚本这么写
我就简单以emp表为例了,也是用的to_char函数,只要语句写正确就OK
select empno||','||to_char(hiredate,'yyyy-mm-dd') from emp;
结尾必须用分号
把这个保存成export.sql文件
然后cmd进到你要执行的文件夹下
sqlplus 用户名/密码 @main
然后无限的等待,等到把你的文件导成
你将来要是要把文件导入到哪的话,可以用sqlloader
这个网上教程很多
哎,打字这个累呀
命令行数据导出步骤如下:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp ōwner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
我的建议是 新建一张新表
create table 用户.tablebak as select a, b from 用户.table
然后通过exp或者expdp导出新建的这张表
希望能帮助你!
在使用oracle的时候,经常会遇到类似CLOB、NLOB、BLOB等大数据类型字段,但是当你想要导出含有该字段类型的数据时,会发现导出来该列字段的数据都显示成了CLOB类型。那么如何处理呢?
1.实际上处理CLOB字段的时候,直接TO_CHAR,当长度超过4000的时候,会报错,提示列被截取;
2.直接使用SUBSTR对CLOB字段进行截取,是不能起到任何作用的;
3.可以使用dbms_lob.substr(clobcolumn,4000),对CLOB字段进行截取;截取的长度是4000还是2000根据存储的是汉字和数据决定长度;
————————————————
版权声明:本文为CSDN博主「独家记忆0408」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:
和linux无关,用exp命令就可以实现
导出一个表中的部分数据,使用QUERY参数,如下
导出select * from test where object_id50000这个条件中的数据
exp charsi/charsi@testdb tables=(TEST) query="'where object_id50000'" file=aaa.dmp log=aaa.log
其他参数含义:
GRANTS:指定是否导出对象的授权信息,默认参数为Y,即默认导出
INDEXES:指定是否导出表的索引,默认为Y
CONSTRAINTS:指定是否导出标的约束,默认为Y
TRIGGERS:指定是否导出与表相关的触发器,默认为Y
FILESIZE:如果生成的dump文件超过指定的,需要使用FILE参数指定多个文件
BUFFER:用来指定执行导出时,处理数据所用的缓存区大小,以字节为单位.这个参数变相用来控制导出时记录数组单次最大能加载的记录数.
RECORDLENGTH:该参数用来指定Export的I/O buffer,以字节为单位,最大不超过65535
1、先查询出用户下的所有表:
SELECT
C.COMMENTS AS "中文表名",
B.TABLE_NAME AS "英文表名",
A.COMMENTS AS "中文字段",
B.COLUMN_NAME AS "英文字段",
B.DATA_TYPE AS "数据类型",
B.NULLABLE AS "是否为空"
FROM ALL_COL_COMMENTS A, ALL_TAB_COLUMNS B, ALL_TAB_COMMENTS C
WHERE A.TABLE_NAME IN (SELECT U.TABLE_NAME FROM USER_ALL_TABLES U)
AND A.OWNER = B.OWNER
AND A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_NAME = B.COLUMN_NAME
AND C.TABLE_NAME = A.TABLE_NAME
AND C.OWNER = A.OWNER
AND A.OWNER = 'USE' --(用户名要和自己的对应)
ORDER BY A.TABLE_NAME, B.COLUMN_ID;
2、把查询出的结果导出来,点一下获取最后一页,选中所有数据,右键,导出,CVN格式。