导入CSV到MySQL

我创build了一个数据库和一个表。 我也创造了我将需要的所有领域。 我创build了46个字段,其中一个是我的行ID。 CSV不包含ID字段,也不包含列的标题。 我对这一切都是陌生的,但一直试图弄清楚这一点。 我不是懒惰的要求答案,而是寻找方向。

我试图找出如何导入CSV,但它开始导入数据开始在第二个字段,因为我希望auto_increment将填写ID字段,这是我创build的第一个字段。

我尝试了这些说明没有运气。 谁能提供一些见解?

  1. 您的CSV文件的列名必须与您的表的名称相匹配
  2. 浏览到您所需的.csv文件
  3. 使用LOAD DATA选项selectCSV
  4. 勾选“ON”以将文件replace为表格数据
  5. 方框终止的字段中,键入,
  6. 在框中的字段中, "
  7. 方框转义的字段中, \
  8. 由行结束的行中, auto
  9. 在“ 列名称”框中,键入由column1,column2,column3分隔的列名称
  10. checkbox为“ 使用LOCAL”关键字

编辑:

CSV文件是32.4kb

我的CSV的第一行是:

 Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD 

您可以在导入期间为某些列设置MySQL值。 如果你的id字段被设置为自动增量,你可以在导入时将其设置为null,然后MySQL将为其赋值。 尝试在phpMyAdmin的SQL选项卡中放置这样的东西:

 LOAD DATA INFILE 'path/to/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SET id=null; 

请看这个页面,看看它是否有你在找什么。 应该是所有你需要的,因为你只处理一个表。 MYSQL加载数据INFILE

举个例子,你可能会这样做:

 LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4); 

这应该给你一个想法。 当然还有更多的选项可以在上面的链接中看到。

如果导入文件是本地的,请务必使用LOAD DATA LOCAL INFILE。 🙂