【问题标题】:importing a CSV into phpmyadmin将 CSV 导入 phpmyadmin
【发布时间】:2021-09-08 03:01:34
【问题描述】:

我有一个看起来像这样的 CSV,

candidate_id,show_on_site,first_name,surname,gender,DOB,showdob,Location,height,eyes,hair_colour,hair_length,accents,unions,training,url,visible,availability
,26,urban talent,Strawberry,Shortcake,Female,11 Jan 1942,FALSE,Manchester,5'2,Brown,Black,Mid-length,Native Lancashire,Equity,Urban Talent TV & Drama Workshops,Strawberry-Shortcake---5.4.06.jpg,Yes,Yes
,29,urban talent,Rainbow,Brite,Female,12 Oct 1970,FALSE,Manchester,5'7,Brown,Dark Brown,Long,"Native Manchester, others include - Cheshire, RP, Patois, Standard USA",Equity Member,"BA Acting Studies, Arden School of Theatre<br>Urban Talent TV & Drama Workshops",Rainbow Brite 1_1.jpg,Yes,Yes
,31,urban talent,Webbigail,Vanderquack,Female,4 Jun 1947,FALSE,Manchester,5'0,Hazel,Blonde,Mid-length,"Native Manchester, others include - Liverpool, Cockney, Birmingham, West Country, Standard Scottish, Standard Welch, S Irish",,Manchester School of Acting<br>3 Years at David Johnson Acting Workshops,Webbigail Vanderquack web 1.jpg,Yes,Yes
,33,urban talent,Smurfette,Smurf,Female,1 Jul 1979,FALSE,Manchester,5'2,Dark Brown,Dark Brown,Long,"Native Manchester, others include - Liverpool, RP, Lancashire, Birmingham, Cockney, Devon, Geordie, West Country, Glasgow, Edinburgh, South African, Standard & Southern US, Persian, Asian, Indian ~ good ear for accents",,"Manchester School of Acting, with Mark Hudson<br>North Cheshire Theatre College, with David Johnson<Oldham Theatre Workshop",Smurfette Smurf web 4.jpg,Yes,Yes

是否可以仅将此数据插入到我数据库中的现有列中,我似乎可以将其作为一个新表插入,然后列名为 A、B、C、D、E 等。

【问题讨论】:

    标签: mysql database csv phpmyadmin


    【解决方案1】:

    使用LOAD DATA INFILE SQL 语句可以导入 CSV 文件,但不能更新数据。但是,您可以使用一个技巧。

    • 创建另一个用于导入的临时表
    • 从 CSC 加载到此表中

      LOAD DATA LOCAL INFILE '/file.csv'
      INTO TABLE temp_table
      FIELDS TERMINATED BY ','
      LINES TERMINATED BY '\n'
      (field1, field2, field3); 
      
    • 更新加入表的真实表

      UPDATE maintable
      INNER JOIN temp_table A USING (field1)
      SET maintable.field1 = temp_table.field1
      

    【讨论】:

      【解决方案2】:

      在 phpMyAdmin 中,单击表格,然后单击页面顶部的“导入”选项卡。

      浏览并打开 csv 文件。保持字符集不变。除非您有一个巨大的数据集(或慢速服务器),否则取消选中部分导入。选择文件后,格式应该已经选择了“CSV”,如果没有,则选择它(不使用 LOAD DATA)。如果要在导入前清除整个表,请选中“将表数据替换为文件”。如果您认为 CSV 文件中有重复项,可以选择选中“忽略重复行”。现在是重要的部分,将接下来的四个字段设置为这些值:

      Fields terminated by: ,
      Fields enclosed by: “
      Fields escaped by: \
      Lines terminated by: auto
      

      目前,这些与默认值匹配,但“字段终止于”除外,默认为分号。

      现在点击 Go 按钮,它应该会成功运行。

      【讨论】:

      • 我不喜欢删除重复行的措辞。 “忽略重复行”可以解释为对重复行不做任何事情(即忽略它们),从而导致它们被添加到您的表中。感谢您对他们实际工作的解释。
      • 不得不将 Fields terminated by: , 更改为:Fields terminated by: ;
      • @Roonie 我也是!!不得不改为;
      【解决方案3】:

      这是由于 id(自动增量文件丢失)而发生的。如果您在文本编辑器中通过为 ID 字段添加逗号来编辑它,这将得到解决。

      【讨论】:

        【解决方案4】:

        在 phpMyAdmin v.4.6.5.2 中有一个复选框选项“文件的第一行包含表列名称....”:

        【讨论】:

          猜你喜欢
          • 2015-07-07
          • 2013-11-01
          • 2019-02-10
          • 2012-11-14
          • 2013-05-11
          • 1970-01-01
          • 2013-07-21
          相关资源
          最近更新 更多