首先我们找到桌面的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要做哪些设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)