Sybase数据导入导出命令

                                                          

概述

       由于执行insert语句或用datastudio工具进行表级别的数据导入,当数据在几万条时就会很慢,所以通过查询相关文档,发现sybaseiq提供加载器支持数据导入,几万条数据也只需要几秒钟时间。故本文整理了Sybase数据库调用加载器的命令和参数设置,以及导出数据文件的常用命令。

一、        从Sybase数据库导出数据

方法一:默认逗号分隔符

导出数据文件到本地sybase客户端安装文件夹。

语法:select * from 表名># 文件名.txt;

数据默认以逗号分隔,字符串在单引号内。

 

方法二:自行设置分隔符

在sysbase服务器所在的linux系统终端,执行如下命令,导出数据文件到linux服务器上。也可以像方法一一样,在sybase客户端工具上执行,生成的数据文件在linux服务器上。

语法:

1.       在终端连接sybase数据库,填写库名、用户名、密码。

dbisql -c "eng=xxxxiq_zh;uid=xxxx;pwd=xxxx "-nogui

2.       设置字段间分隔符

(sgms)> set temporary optionTemp_Extract_Column_Delimiter = '&%';

3.       设置导出数据的文件名

(sgms)> set temporary option Temp_Extract_Name1 ='TABLE_NAME.txt';

4.       执行导出数据的sql脚本

(sgms)> select * from TABLE_NAME;--执行导出数据的脚本

5.       关闭导出操作

(sgms)> set temporary optionTemp_Extract_Name1 = '';


二、        将数据从文件导入到Sybase数据库

1.       将数据文件上传到linux服务器,数据库安装路径下。

2.       在sybase客户端执行如下命令进行导入操作

导入用方法一导出的数据文件,注意:换行标志为 \x0d

LOAD TABLE TABLE_NAME(DATA_ID',',
COL1',',
COL2',',
COL3',',
COL4',',
COL5'\x0d')
from 'TABLE_NAME.txt' 
quotes off 
escapes off 
format 'ascii' 
go
commit;

导入用方法二导出的数据文件,注意:换行标志为 \x0a

LOAD TABLE TABLE_NAME(DATA_ID'&%',
COL1'&%',
COL2'&%',
COL3'&%',
COL4'&%',
COL5'\x0a')
from 'TABLE_NAME.txt' 
quotes off 
escapes off 
format 'ascii' 
go
commit;

3.       导入命令参数说明

escapes on         --on表示斜杠后面的内容认为是特殊字符,off代表相反含义。

quotes on          --on表示引号认为不是字符串的一部分,off代表相反含义。

notify 100000       --指加载100000条打一次日志。

with checkpoint on   --load完将内存中的数据写入磁盘。

format 'ascii'        --设置导入数据文件编码格式。

 

4.       生成导入命令脚本

select

'LOADTABLE TABLE_NAME('||

replace(list(column_name),',','''&%'',')

||'''&%\x0a'''

||')from''TABLE_NAME.txt'' quotes off escapes off format ''ascii'' go commit;' sqlcomment

from sp_iqcolumn('TABLE_NAME');

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值