Импортировать данные Excel в базу данных SQL? - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь импортировать данные 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 query показывает мне ошибку:

У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'ROWS (id, name, country_code, language)' в строке 7

enter image description here

Информация о моей базе данных:

enter image description here

Информация о моих данных Excel (Расположение моего файла Excel "c: /2019/countries.csv"):

enter image description here

Информация о моем файле 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

Кто-нибудь может мне подсказать, что я неправильно понял в своем коде? Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

В зависимости от вашей версии MySQL, в IGNORE предложениях в LOAD DATA используется исключительно LINES или в более поздних версиях, interchangebaly использует LINES или ROWS. Это видно по документам разных версий:

LINES и ROWS являются синонимами

[IGNORE number {LINES | ROWS}]

Только LINES разрешено (т. Е. ROWS не поддерживается)

[IGNORE number LINES]
0 голосов
/ 01 ноября 2019

Не проблема (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)
...