MySQL - 数据更新场景

 

 

Excel文件数据更新到表A的某两个字段

Excel文件中Sheet1页有两列,一列是序号,另一列是手机号。表A中有对应的序号列和手机号列。

1、首先,使用Navicat将Excel数据导入数据库,注意修改Excel字段和目标表字段的映射。

2、执行以下语句即可完成更新操作。

update table_a as a inner join sheet1 as b on a.id = b.id
set a.tel=b.phone;

3、此时发现,Excel中总共有2300多条,但是执行update操作之后,只有400多条记录受到影响。

4、查询Excel表中有,但是表中没有的记录,可执行以下SQL

-- letf join的方法
SELECT e.*
FROM sheet1 e  
LEFT JOIN table_a a ON e.id = a.card AND e.phone = a.tel  
WHERE a.card IS NULL;


-- not exists的方法
SELECT *  
FROM sheet1 e  
WHERE NOT EXISTS (  
    SELECT 1  
    FROM table_a a  
    WHERE e.id = a.card AND e.phone = a.tel  
);

 

 

 

— 要养成终生学习的习惯 —

posted @ 2024-03-28 10:47  HOUHUILIN  阅读(8)  评论(0编辑  收藏  举报