mysql - 如何在我使用 mysql 导入的 CSV 中查找和替换

标签 mysql csv heidisql

我正在将 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”?

谢谢。

最佳答案

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

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

关于mysql - 如何在我使用 mysql 导入的 CSV 中查找和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43890328/

相关文章:

mysql - 无法登录新安装的phpmyadmin

sql - liquibase 在插入 sql 语句的 csv 行的所有值周围加上单引号

mysql - 在 Heidi SQL Command-Statistics 中获取特定查询

php - jQueryUI 自动完成 : Returning data from multiple columns in a MySQL database and joining them

mysql - SQL:根据相关表的条件进行计数和求和

mysql - SQL 选择多个 AND

csv - 如何从文本文件填充 Elasticsearch 索引?

python-3.x - 为什么我无法将云函数中的 csv 分隔符设置为管道

sql - MariaDB '' 附近的错误语法

mysql - 如何在我的 SQL 选择语句中选择组合类别名称?