标签:数据库 check batch constrain tar not sdn each 数据
将文本数据导入到数据库中的方法有很多,将文本格式(csv和txt)导入到SQL Server中,bulk insert是最简单的实现方法
1,bulk insert命令,经过简化如下
BULK INSERT schema_name . table_name FROM ‘data_file‘ WITH ( FIELDTERMINATOR = ‘field_terminator‘, ROWTERMINATOR = ‘row_terminator‘, DATAFILETYPE=‘WideChar’ );
2,使用bulk insert 将txt数据导入到数据库中,文本数据使用Tab分割Column,使用换行符分割row。
--create staging table create table dbo.txt_staging ( col1 nvarchar(255), col2 nvarchar(255), col3 nvarchar(255) ) go --populate data bulk insert dbo.txt_staging from N‘D:\test.txt‘ WITH( FIELDTERMINATOR = ‘\t‘, ROWTERMINATOR = ‘\n‘ )
3,使用bulk insert 将csv的数据导入数据库中
CSV文件使用“,”作为列分隔符,使用“\n”作为行分隔符
--populate data bulk insert dbo.txt_staging from N‘D:\abc.csv‘ WITH( FIELDTERMINATOR = N‘,‘, ROWTERMINATOR = N‘\n‘, CODEPAGE =N‘raw‘ )
3,在导入Unicode时,需要将.txt文档保存为Unicode 编码方式
在使用bulk insert导入时,必须设置DATAFILETYPE=‘widechar‘,选项可能值有: ‘char‘ | ‘native‘| ‘widechar‘ | ‘widenative‘ ,默认值是char。
如果有些Column没有值,设置 KEEPNULLS 选项,表示将该column设置为NULL。
bulk insert dbo.txt_staging from N‘D:\abc.txt‘ WITH( FIELDTERMINATOR = ‘\t‘, ROWTERMINATOR = ‘\n‘, DATAFILETYPE =‘widechar‘ , KEEPNULLS )
附:Bulk Insert 命令的调用格式:
重要参数注释:
参考doc:
Bulk Insert:将文本数据(csv和txt)导入到数据库中
标签:数据库 check batch constrain tar not sdn each 数据
原文地址:http://www.cnblogs.com/ljhdo/p/5604912.html