首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql批量修改请问

2012-04-01 
mysql批量修改请教!SQL codeaa表中有id,username,email三个字段。原本有些数据。 我想实现根据样本中给出邮

mysql批量修改请教!

SQL code
aa表中有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

热点排行