我想将四个.csv
文件(每个文件具有300,000行和150列,并且大小超过0.5 GB)导入数据库表中。在SQL Server中最简单的方法是什么?
我正在使用最新的SQL Server 2017 Express。我有4个大的.csv
文件,我想将其导入数据库。我打算将它们导入4个单独的表中。但是,要创建新表,需要定义所有列名和数据类型,这将很麻烦。因此,我想知道如何更好,更轻松地实现这一目标。请注意,我是SQL Server的新手,但对它却不太熟悉。
答案 0 :(得分:0)
为此专门创建了Microsoft BCP Utility:
批量复制程序实用程序(bcp)在 用户指定的Microsoft SQL Server实例和数据文件 格式。 bcp实用程序可用于导入大量新 行到SQL Server表中或将表中的数据导出到数据中 文件。
答案 1 :(得分:0)
批量插入将为您完成此操作。
class Customers(models.Model):
c_name = models.CharField(max_length=100)
c_address = models.CharField(max_length=1000)
c_country = models.CharField(max_length=50)
def _str_(self):
return self.c_name
或者...
BULK INSERT dbo.YourTableName
FROM 'C:\Users\Steve\Downloads\yourfiletoIMPORT.csv'
WITH (
FirstRow = 2, --(if skipping a header row)
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
或者,如下面的链接所述,只需导入文件。
https://host4asp.net/import-csv-file-using-sql-server-management-studio/
使用SQL Server Management Studio导入CSV文件:
BULK INSERT SchoolsTemp
FROM 'C:\Users\Steve\Downloads\yourfiletoIMPORT.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
ERRORFILE = 'C:\Users\Steve\Downloads\errors.csv',
TABLOCK
)