【问题标题】:Import excel data put into the SQL database?将excel数据导入SQL数据库?
【发布时间】:2020-02-27 20:27:02
【问题描述】:

我试图将 excel 数据导入我的 MySQL Query 浏览器数据库。我尝试在MySQL Query中使用下面的编码类型来执行,但它不起作用。

我的代码:

LOAD DATA LOCAL INFILE
    'c:/2019/countries.csv'
    INTO TABLE countries
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 ROWS
    (id,name,country_code,language);

My SQL 查询浏览器显示错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“ROWS”附近使用的正确语法 (id,name,country_code,language)' 在第 7 行

我的数据库信息:

我的excel数据信息(我的excel文件位置是“c:/2019/countries.csv”):

我的 CSV 文件信息:

  id,name,country_code,language
  231,Andorra,20,en
  232,United Arab Emirates,784,en
  233,Afghanistan,4,en
  234,Antigua and Barbuda,28,en
  235,Anguilla,660,en
  236,Albania,8,en
  237,Armenia,51,en
  238,Angola,24,en
  239,Antarctica,10,en
  240,Argentina,32,en
  241,American Samoa,16,en

任何人都可以指导我在编码中出错的地方吗?谢谢。

【问题讨论】:

  • 帮助自己 - 将 csv 文件的前几行作为文本添加到问题中。
  • 请注意:CSV 不是 Excel 数据类型。
  • 我已保存为 CSV 格式
  • 另外,尝试使用反引号转义列名(注意 language 以蓝色突出显示)有些是 reserved words。这些可能会导致意外行为。
  • 添加的 csv 文件对我来说很好。如果您在 Windows 框中执行此操作,则应将“c:/2019/countries.csv”更改为“c:\\2019\\countries.csv”。你可能需要 '\r\n' 你还应该添加你的表定义。

标签: mysql sql load-data-infile


【解决方案1】:

根据您的 MySQL 版本,LOAD DATA 中的 IGNORE 子句专门使用 LINES 或在更高版本中,interchangebaly 使用 LINESROWS。您可以通过不同版本的文档看到这一点:

LINESROWS 是同义词

[IGNORE number {LINES | ROWS}]

仅允许LINES(即不支持ROWS

[IGNORE number LINES]

【讨论】:

    【解决方案2】:

    没问题(win10)

    drop table if exists t;
    create table t
    (id int,name varchar(20),country_code int,language varchar(20));
    
    LOAD DATA LOCAL INFILE
        'C:\\Program Files\\MariaDB 10.1\\data\\sandbox\\data.txt'
        INTO TABLE t
        FIELDS TERMINATED BY ','
        ENCLOSED BY '"'
        LINES TERMINATED BY '\r\n'
        IGNORE 1 ROWS
        (id,name,country_code,language);
    
    +------+----------------------+--------------+----------+
    | id   | name                 | country_code | language |
    +------+----------------------+--------------+----------+
    |  231 | Andorra              |           20 | en       |
    |  232 | United Arab Emirates |          784 | en       |
    |  233 | Afghanistan          |            4 | en       |
    |  234 | Antigua and Barbuda  |           28 | en       |
    |  235 | Anguilla             |          660 | en       |
    |  236 | Albania              |            8 | en       |
    |  237 | Armenia              |           51 | en       |
    |  238 | Angola               |           24 | en       |
    |  239 | Antarctica           |           10 | en       |
    |  240 | Argentina            |           32 | en       |
    |  241 | American Samoa       |           16 | en       |
    +------+----------------------+--------------+----------+
    11 rows in set (0.00 sec)
    

    【讨论】:

      猜你喜欢
      • 2018-04-17
      • 2016-10-22
      • 1970-01-01
      • 2011-06-24
      • 2023-04-02
      • 1970-01-01
      • 2019-03-12
      • 2016-02-09
      • 1970-01-01
      相关资源
      最近更新 更多