使用脚本将.csv文件加载到MySQL数据库中

问题描述:

我正在使用Ubuntu 10.04 LTS命令行来运行应该接受.csv文件并使用其内容填充我创建的表的mySQL 5.1.61脚本在脚本的前面。使用脚本将.csv文件加载到MySQL数据库中

下面是脚本什么的(对CSV有三列,名字,姓氏和俱乐部):

-- Import club roster from csv. 
-- Create a table to store club data. 
CREATE TABLE club_roster (
    first_name VARCHAR(32), 
    last_name VARCHAR(32), 
    club VARCHAR(32) 
) 

依次为:

-- Put information from csv into table. 
LOAD DATA LOCAL INFILE '/complete/path/to/file.csv' 
    INTO TABLE club_roster 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    IGNORE 1 LINES; 

当我尝试运行它,我得到这个错误:

ERROR 1064 (42000) at line 17: 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 'LOAD DATA LOCAL INFILE '/complete/path/to/file.csv' INTO TABL' at line 8

我的语法怎么样不正确?我已经尝试了文件的所有路径组合,包括单引号,没有单引号,整个路径,只有文件,文件结尾,没有文件结尾,以及这些组合。

任何想法?感谢您的帮助!

编辑:我使用的命令

mysql < 'scriptFileName' -u root -p 

,然后输入我的密码来运行该脚本。命令是否重要?

+0

你能告诉我什么是你的脚本的前16行吗?你的语法看起来是正确的,但是之前执行的任何东西似乎都失败了。 – 2017-06-12 16:39:14

您应该用分号终止您的create table命令。像这样:

CREATE TABLE club_roster (
first_name VARCHAR(32), 
last_name VARCHAR(32), 
club VARCHAR(32) 
);