将 excel 数据导入 SQL 数据库?

Import excel data put into the SQL database?

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

我的代码:

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);

我的 SQL 查询浏览器显示错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ROWS (id,name,country_code,language)' at line 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

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

没问题 (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)

根据您的 MySQL 版本,LOAD DATA 中的 IGNORE 子句仅使用 LINES 或在更高版本中,可互换使用 LINESROWS.你可以通过不同版本的文档看到这个:

LINESROWS是同义词

[IGNORE number {LINES | ROWS}]

只允许LINES(即不支持ROWS

[IGNORE number LINES]