plsql怎么将数据导出至TXT文件

plsql怎么将数据导出至TXT文件,第1张

首先我们找到桌面的PL/SQL图标,双击将其打开。

输入数据库用户名密码,点击登陆。

在PL/SQL主界面,我们找到左上方那张白纸状的按钮,点击并选择第三项SQL Windows。

这里我们输入即将导出的数据的SQL,点击左上上的查询按钮。

可以看到在下方已经查询出我们需要的数据。

那这里我们拼入查询条件,点击查询。

这里选中表名然后右击,选择export data。

来到导出数据界面,这里在下方我们选择第二个tab页,SQL Inserts,输入我们的条件查询语句,选择我们即将导出的路径,然后点击export。

可以看到在桌面已经形成了这个sql文件,双击将其打开。

sql文件就形成了,我们可以将其中的insert文件复制出来,在需要的时候,直接将其执行即可将我们想要的数据插入到相应的表中。

因为在数据库中,比如,你定义了CHAR字符(5),你存入123 其实在数据库里存的是"123和二个空格"

明白了不

简单的说:你存在1text中的1个字节,有可能到数据库中就成了2个字节,那么你再导到2txt的时候,也是占2个字节。

间隔符嘛, 取决于你当前的数据库里面, 列里面都有哪些数据。

也就是你这个间隔符, 是要在你当前数据库里面, 没有的那个字符, 就可以了。

我这里没有 Mysql 导出到 db2,oracle 的例子。

只有一个 SQL Server 导出到 Oracle 的例子, 你可以参考一下。

-- 注意事项。

-- 1 分隔字符的选择

-- 2 NULL 的处理

-- 3 DATETIME 的处理

CREATE TABLE test_to_oracle (

id int identity(1,1),

value varchar(50),

create_date datetime

);

GO

INSERT INTO test_to_oracle

SELECT 'ABC,DEF', '2012-12-12 12:12:12' UNION ALL

SELECT 'OPQ', NULL UNION ALL

SELECT NULL, '2011-11-11 11:11:11' UNION ALL

SELECT 'TEST''XYZ', '2010-10-10 10:10:10';

GO

导出: (注意,这里的 -t; 意思就是用 ; 作为 列之间的分隔字符, 选择分隔字符以前, 需要先确认, 数据库表的字段里面, 不要有这个分隔字符)

E:\Temp>BCP [test][dbo][test_to_oracle] out test_to_oracledat -c -t; -T -S "localhost\SQLEXPRESS"

开始复制

已复制 4 行。

网络数据包大小(字节): 4096

总时钟时间(毫秒) : 15 平均值: (每秒 26667 行。)

导出文件内容:

E:\Temp>type test_to_oracledat

1;ABC,DEF;2012-12-12 12:12:12000

2;OPQ;

3;;2011-11-11 11:11:11000

4;TEST'XYZ;2010-10-10 10:10:10000

Oracle 中的表

CREATE TABLE test_to_oracle (

id int,

value varchar2(50),

create_date date

);

导入到 Oracle 的 控制文件 test_to_oraclectl

(注意1: 这里的 TRAILING NULLCOLS 意味着如果内容为空字符串, 那么按照 NULL 来处理)

(注意2: 这里的 TIMESTAMP 'yyyy-mm-dd hh24:mi:ssxff' 因为 SQL Server 导出的文件中, DATETIME 格式的, 秒后面带有000 )

LOAD DATA

INTO TABLE test_to_oracle

FIELDS TERMINATED BY ';'

TRAILING NULLCOLS

(

id,

value,

create_date TIMESTAMP 'yyyy-mm-dd hh24:mi:ssxff'

)

运行导入命令

E:\Temp>sqlldr userid=test/test@vbpos control=test_to_oraclectl data=test_to_oracledat

SQLLoader: Release 92010 - Production on 星期二 4月 23 14:38:13 2013

Copyright (c) 1982, 2002, Oracle Corporation All rights reserved

达到提交点,逻辑记录计数4

查看日志文件 test_to_oraclelog 未发现异常

Oracle 中查询数据

COLUMN "value" FORMAT A20

COLUMN "create_date" FORMAT A20

SELECT FROM test_to_oracle;

ID VALUE CREATE_DATE

---------- -------------------- --------------------

1 ABC,DEF 2012-12-12 12:12:12

2 OPQ

3 2011-11-11 11:11:11

4 TEST'XYZ 2010-10-10 10:10:10

右击数据库名字,在所有任务里选择“导出数据”进入向导,选择要导出数据的数据库,在“目的”处选择“Microsoft Excel 97-2000”,并输入文件名,在下一步里选择“用一条查询指定要传输的数据”,单击下一步,点击“查询生成器”,选择要导出的表以及表里的字段……说的不是很详细,你自己再好好琢磨下应该可以导出的

更多资源可以去csdn上看看

查询分析器 Sql Query Analyzer 就有导出 csv格式的, 这与 txt 格式差不多。

导出时输入 xls 的文件名,

最好把分隔符设置为 Tab --Column delimiter 设置为 Tab Delimited

可自动输出 Excel 文件。

1

C:\>mysqldump buybook > d:/mysqlbak/buybooksql或者C:\>mysqldump buybook > d:/mysqlbak/buybooktxt建议用2上面的导出的文本包括了数据库的结构和记录!

如只要纪录的话:

select into outfile 'filenametxt' from tablname;另:使用mysqldump命令格式mysqldump YourDatabaseName --user=YourUserName --password=YourPassword

YourDatabaseName是你想处理的数据库名

YourUserName和YourPassword 对应你的授权口令

如果只需要导出表的结构,那么可以使用mysqldump的 -d 选项转:用图形工具是比较方便的,比如我用的:SQLyog。

在命令行中的方式为:

1、把整个数据库导出为一个sql文件:用:mysqldump dbname > c:\mydbsql

2、把sql文件导入数据库:用mysql命令进入mysql,在mysql>提示符下输入:

1)创建数据库:create database newdb;

2)使用当前数据库:use newdb;

3)导入sql文件中的数据:source c:\mydbsql(无分号)

以上就是关于pl/sql怎么将数据导出至TXT文件全部的内容,包括:pl/sql怎么将数据导出至TXT文件、sql数据库导出的txt文本文件怎么那么大、数据库导出数据为txt文档,间隔符都是什么意思,mysql导出到db2,oracle要做哪些设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10199684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存