mysql批量修改请问
mysql批量修改请教!SQL codeaa表中有id,username,email三个字段。原本有些数据。 我想实现根据样本中给出邮
mysql批量修改请教!
SQL codeaa表中有id,username,email三个字段。原本有些数据。 我想实现根据样本中给出邮箱批量更新username的值。样本:username email21631259 bin.lu@aa.com645474 bb_yang@aa.com20338332 aa.zhao@aa.com21743745 jie.chen6@aa.com20031229 hai-jing.zhao@aa.com21685028 dc.yao@aa.com20132408 at-hua.wang@aa.com20415986 db.lei@aa.com.........................现在想到的是从样本中一条一条复制过来放在SQL语句中执行。数据有几千条。这样太慢了。请教各位大侠是否有简单的方法,谢谢!UPDATE aa SET username='21631259' WHERE email='bin.lu@aa.com';
[解决办法]把样本放在一个文件里,
然后读文件,读到一条记录,接着就执行一条更新语句。
如果email在aa中没有对应的记录,那么更新就会不进行任何操作了。
几千条数据,10分钟之内绝对很快就执行完了。
[解决办法]其实,使用ultraedit编辑器,大概一两分钟就把这个SQL文件给生成了。
参考列编辑模式。
[解决办法]update aa set username=substring_index(email,'@',1);
[解决办法]用LOAD DATE INIFILE导入 文本文件,再替换
LOAD DATE INIFILE 'r:/123.txt'into TABLE 样本;
update aa a inner join 样本 b on a.email=b.email set a.username=b.username