【问题标题】:How do I find and replace in a CSV I'm importing using mysql如何在使用 mysql 导入的 CSV 中查找和替换
【发布时间】:2017-10-08 23:24:41
【问题描述】:

我正在将 CSV 文件导入 Heidi SQL。我已经使用以下代码创建了表格:

create table all_data
    (
        Keyword varchar(1000),
        Position int,
        Previous_Position int,
        Search_Volume int,
        KW_Difficulty float,
        URL varchar(1000),
        Post_title varchar(1000),
        Post_URL varchar(1000),
        Genre varchar(1000),
        Location varchar(1000),
        Avg_Daily_Visitors float,
        pageviews int
        )
;

但在 Avg_Daily_visitors 列中,它有“\N”,没有任何值。我一直在用这段代码导入数据:

load data local infile 'C:/filepath.../All_Data.csv'
replace into table all_data
fields terminated by ','
    enclosed by '"'
    escaped by '"'
lines terminated by "\r\n"
ignore 1 rows
set
    Avg_Daily_Visitors = replace(Avg_Daily_Visitors,"\N",0),
    pageviews = replace(pageviews,"\N", 0)
;

但它不会用 0 替换值,这是我想要实现的。如何让 Heidi SQL 在导入时将“\N”替换为“0”?

谢谢。

【问题讨论】:

    标签: mysql csv heidisql


    【解决方案1】:

    首先将您读取的值分配给一个变量,然后处理该变量。为此,您需要指定目标表的列,但要指定一个变量而不是要替换的列。

    load data local infile 'C:/filepath.../All_Data.csv'
    replace into table all_data
    fields terminated by ','
        enclosed by '"'
        escaped by '"'
    lines terminated by "\r\n"
    ignore 1 rows
    (column_1, column_2, @variable1, @variable2, column_5)
    set
        Avg_Daily_Visitors = replace(@variable1,"\N",0),
        pageviews = replace(@variable2,"\N", 0)
    ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2014-11-21
      • 2016-06-26
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多