使用mysql的Concat链接数据

本文介绍了一种通过生成SQL更新语句来实现从大数据集到小数据集的数据迁移方法,并提供了处理NULL值的具体策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql -h10.xxx -uook -pdbbbH9DePOxb -P3306 -Ne "use nb_sdk; select CONCAT('UPDATE nb_app p set p.app_id =',p.AppId, ', p.app_key=''',p.AppKey, ''', p.secret_key=''',p.SecretKey, ''', p.notify_url=''',p.NotifyUrl,''' where package_name = ''', p.PackageName, ''' ;') from app p;" > ./rs.sql


对于一小部分数据,其在很大的数据中,可以通过下面的方式从多的一边获取数据,然后在小的数据边更新数据

 use mmm;select CONCAT("use test; select CONCAT('UPDATE user_account p set p.NickName =''',x.nickname, ''' where UserId = ',x.uid,' ;') from pre_ucenter_members_info x where x.uid=",t.UserId, ";" ) from user_account t INTO OUTFILE '/tmp/fi.txt' ; 

上面是在小的数据产生执行文件
 
  mysql -uroot -p -N < /tmp/fi.txt > ./res.sql;  这句是在多的一方执行,产生的res.sql文件就可以在小的一般导入执行。


如果有null的情况,则需要加以下代码

SELECT CONCAT(IFNULL(isdcode,''),telephone) FROM gb_customer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值