紫郢青索

知之者不如好之者,好之者不如乐之者

用户工具

站点工具


SQL中CONCAT方法日常使用

SQL的CONCAT方法

SQL中的方法CONCAT用来连接多个字符串
>  SELECT CONCAT('My name', ' is ', 'Lily');
> 

常常使用的实例

杀掉长时间运行的sql进程

使用CONCAT方法拼接杀进程的语句

SELECT CONCAT('KILL ',id,';') 
FROM information_schema.processlist 
WHERE Time>1000;

运行返回的结果语句

KILL 1234;
KILL 3298;

查找数据并遍历更新数据

用户表 user

id name nickname
1 zhang3 13877767676_30
2 li4 19809800000_23
3 wang5 16788888888_45

用户扩展表 user_ext

id user_id mobile age
1 1 13877767676 30
2 2 19809800000 23
3 3 16788888888 45

现在想把 user 表中的nickname 更新为 mobile_age 的组合 方法就是使用sql 的 CONCAT 方法生成更新语句

SELECT CONCAT('UPDATE user set nickname = \'', ue.mobile, '_', ue.age, '\' WHERE id = ', ue.user_id, ';') AS update_sql
FROM user_ext ue 
LEFT JOIN USER u ON u.id = ue.user_id;

执行语句

UPDATE USER SET nickname = '13877767676_30' WHERE id = 1;
UPDATE USER SET nickname = '19809800000_23' WHERE id = 2;
UPDATE USER SET nickname = '16788888888_45' WHERE id = 3;