有没有办法将 CSV 逗号分隔文件导入 mysql?

Is there a way to import a CSV comma delimited file into mysql?

大家好,我是网络开发新手。

我正在尝试使用 'Table Data Import Wizard' 将 CSV 文件导入 mysql workbench。但是,我读到我的文件需要是 CSV (MS-DOS),否则我会收到以下错误:无法分析文件。请尝试更改编码类型。如果这没有帮助,可能文件不是:csv,或者文件是空的。

我不能使用 CSV (MS-DOS),因为我的数据包含许多不同的特殊字符,包括来自北欧的特殊字符。当我将 CSV(逗号分隔)转换为 CSV (MS-DOS) 时,特殊字符不再相同。

有没有办法将 CSV 逗号分隔文件导入 mysql workbench?或者是否有更好的解决方案将我的数据放入 table,例如以某种方式使 MS-DOS 文件中的特殊字符保持相同?

您的 CSV 应该可以正常工作。你只需要 Load Data Infile

不过您可能需要定义这些设置

LOAD DATA INFILE 'c:/tmp/discounts.csv' 
INTO TABLE discounts 
-- comma seperated? maybe pipes '|'?
FIELDS TERMINATED BY ',' 
-- what surrounds input and is it optional? then add OPTIONALLY before ENCLOSED
ENCLOSED BY '"'
-- what is at the end of files
LINES TERMINATED BY '\n'
-- how many header rows are there, if any?
IGNORE 1 ROWS;

您可以毫无问题地导入常规 CSV,只需确保编码匹配。

类似

LOAD DATA
    INFILE yourfile.csv
    INTO TABLE tablename
    FIELDS
        TERMINATED BY ','
        ENCLOSED BY '"'
    LINES
        TERMINATED BY '\n'
    IGNORE 1 LINES

应该可以。如果您的 CSV 没有 headers,请从代码中删除 ignore 1 lines 行。如果您的格式不同,请相应地更改封闭字符和终止字符。

您可以在 manual.

中查找确切的语法