将 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
或在更高版本中,可互换使用 LINES
或 ROWS
.你可以通过不同版本的文档看到这个:
LINES
和ROWS
是同义词
[IGNORE number {LINES | ROWS}]
只允许LINES
(即不支持ROWS
)
[IGNORE number LINES]
我试图将 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
或在更高版本中,可互换使用 LINES
或 ROWS
.你可以通过不同版本的文档看到这个:
LINES
和ROWS
是同义词
[IGNORE number {LINES | ROWS}]
只允许LINES
(即不支持ROWS
)
[IGNORE number LINES]