各种数据库导入csv文件的方法

来源:互联网 发布:nginx api lua set 编辑:程序博客网 时间:2024/05/10 06:37

假设现有test.csv文件存放有以下数据:

a1,b1

a2,b2

存放路径为:D:\test.csv。

 

Oracle数据库导入csv文件方法:

确保存在需要导入的表test,并且栏位数量和类型(存在栏位A和B)要和需要导入的一致,如没有需要导入的表,则需要先建立test表。

新建test.ctl文件,用记事本编辑写入:

load datacharacterset utf-8infile 'D:\test.csv'into table "test"fields terminated by ','(A,B)

打开命令提示行,输入并执行:

sqlldr userid=user/password@database control=d:test.ctl log=d:\test.log

注:user/password@database为帐号和密码以及数据库名称,如BM_APP/supporter@zlbm

 

SQL Server数据库导入csv文件方法:

确保需要导入的文件test.csv存在于安装SQL Server的服务器上,存放路径为:D:\test.csv。

确保存在需要导入的表test,并且栏位数量和类型(存在栏位A和B)要和需要导入的一致,如没有需要导入的表,则需要先建立test表。

执行以下SQL语句:

BULK INSERT testFROM 'D:\test.csv' WITH( FIELDTERMINATOR=',', ROWTERMINATOR='\n'   )

 

MySQL数据库导入csv文件方法:

执行以下SQL语句:

load data infile '/tmp/test.csv'   into table test_info    fields terminated by ','  optionally enclosed by '"' escaped by '"'   lines terminated by '\r\n';


DB2数据库导入csv文件方法:

在DB2 命令行窗口执行以下语句(注意没有换行):

LOAD client FROM ''D:\test.csv' OF del MODIFIED BY codepage=1208 chardel"" COLDEL0x2c METHOD P (1,2) INSERT INTO TEST(col1,col2) 

 

Load Client from说明是从客户端导入文件,如果是直接在数据服务器上执行,则去掉Client关键词。

OF DEL,del是delimeter的缩写,意为以指定的标点符号作为栏位之间的分割,而不是栏位的长度是固定的。

CODEPAGE,指明csv文件的编码。

Chardel标明字符串栏位以什么字符作为起始标志,此处说明是以双引号括起来。

COLDEL标明栏位之间的间隔符号,此处说明是以逗号作为栏位的分隔符。

METHOD P说明是按照栏位的序号,来定位需要导入的栏位数据;另外有METHOD L,说明是按照栏位在CSV文件中固定的起始位置,例如:METHOD P(001 020,022 030,032 045,047 100)。

INSERT INTO指明插入到哪一张表及对应的字段。

 

Sybase数据库导入csv文件方法:

在命令行中执行以下语句:

bcp dbo.test in D:\test.csv -Usa -P111111 -SSYBASE -Jcp850 -c

 

以上为最基本的导入csv文件的方法,并没有对特殊的数据类型(如date类型等)、文件编码格式、csv文件的保存格式(如是否包含双引号,是否包含标题栏,是否空值为null等)等进行考虑和特殊处理,在实际应用中还需要考虑多方面的内容。

以上方法均是借助数据库本身所提供的方法和指令,还有一种更简易的方法是借助数据库开发工具进行,如Aqua Data Studio工具就提供了比较强大的csv文件导入和导出的功能,并且可以对导入或导出的csv文件格式进行控制和处理。

原创粉丝点击