前言:
工会的所有问题,技术是一方面,前期的准备工作才是最繁重的
稍微记录一下步骤
步骤
1.修改部门的编号(这个比较简单)
部门的编号问题
SELECT B."ID" DEPT_ID,A.DEPT_ID NAME,b."NAME" NAME2 from "Sheet1" A LEFT JOIN SYS_P_DEPARTMENT B
on A.DEPT_ID=B."NAME"
2.修改相关的对应关系
筛选的几个细节:
内容筛选的时候可以用查找关键词的方法
筛选之后的结果可以通过点击列名来进行全选,如果怕选多了可以用shift调整
筛选之后的结果可以用ctrl+enter的方法全部修改
3.出生日期的问题
用身份证来生成(zj的金点子)
入会时间,就麻烦了 需要针对不同的情况进行换公式
格式1: 1984.8 1992.07 1983-07
=DATE(MID(A1,1,4),MID(A1,6,2),1)
格式2:1994.7.1
=DATE(MID(A5,1,4),MID(A5,6,1),MID(A5,8,1))
格式3:201607
=DATE(MID(A1647,1,4),MID(A1647,5,2),1)
格式4:19990801格式1:
1999/8/1
=DATE(MID(A1657,1,4),MID(A1657,5,2),MID(A1657,7,2))
格式5:2012年7月 中文也是一个字符
=DATE(MID(A1897,1,4),MID(A1897,6,1),1)
格式6 2014/07/01
直接粘贴就行
4.关于粘贴的问题
粘贴为值和格式
5.导入
过去我从来没有想到会在这里载,注意几个点
1.无需保存为 csv格式 再导入的时候设置时间为 date 就可以顺利的导入了
2.导出数据的时候 可以只导出数据(有列名和无列名两种)
3.转储会删除整个表 然后重建一个表 一般用不着
4.从一张表到另一张表
update a, b
set a.title=b.title, a.name=b.name
where a.id=b.id
或者
update student s set city_name = (select name from city where code = s.city_code);
5.从一张表插入另一张表
插入 不存在的记录
insert into insertTest2
(id,name)
select id,name
from insertTest
where not exists (select * from insertTest2
where insertTest2.id=insertTest.id);
或
insert into insertTest select * from insertTest2;(插入一列)
6 关于批量更新
1.方案一 使用update 直接更新
https://blog.youkuaiyun.com/zhaoshuliok/article/details/70142668
update “bi_trade_info_new” b set b.DEPT_ID=(select h.ID from SYS_P_DEPARTMENT h where b.DEPT_ID=h.name)
2.方案二 使用mysql 的循环进行更新(果然要多读书啊)
最后最后总结一下我的全部过程
1.首先是筛选和替换相关的值
2.然后是用excel 函数转换时间格式
3.将表导入到数据库中 修改部门编号
4.将修改好的表导出 成sql语句 (注意 不是转储 记得带上名字,只导出数据)
5.修改sql语句中的表名然后,再运行
6.可能需要修改一下属性的大小
8.over
切记多备份