mysql相关操作-三种批量修改
1、连接数据库
mysql –u 用户名 -p密码 –h 服务器IP地址 –P 服务器端MySQL端口号 –D 数据库名
eg: mysql –u root –p123456 –h 192.168.0.168 –P 3306 –D “database name”
2、设置自动增长当前值
ALTER TABLE 数据库名.表名
AUTO_INCREMENT = 自增值;
eg: ALTER TABLE test.user
AUTO_INCREMENT = 100;
3、字符串拼接concat
select concat( ‘字符串’, ‘字符串’) as 别名 from 表名
eg: select concat( ‘aaa’, id) as aaaId from user
4、 批量update-select
update 表名1
u
set 字段名1
=(
select 字段名2
from(
select 字段名2
, 字段名3
from user
)uu
where uu. 字段名3
=u.字段名4
)
eg:
update user
u
set id
=(
select id2
from(
select id2
,id
from user
)uu
where uu.id
=u.id
)
5、 批量update-INNER JOIN
update 表1
INNER JOIN 表2
set 表1
. 字段1
=
表2
. 字段2
where 表1
. 字段3
=表2
. 字段4
eg:
update table1 INNER JOIN table2 set table1 .value=
table2 .value
where table1 .value=table2 .value
6、 批量update-CASE WHEN
UPDATE 表名
SET 字段1
= (
CASE
WHEN id = 1 THEN 11
WHEN id = 2 THEN 22
WHEN id = 3 THEN 33
END
) WHERE 字段2
IN (1,2,3);
eg:
UPDATE test
SET code = (
CASE
WHEN id = 1 THEN 11
WHEN id = 2 THEN 22
WHEN id = 3 THEN 33
END
) WHERE id IN (1,2,3);
注意:
CASE WHEN一定要和WHERE语句一起使用,否则UPDATE会遍历和更新数据库中所有的行
7、 批量修改字段
UPDATE 表名
SET 字段名
=replace(字段名
, ‘被替换字符串’, ‘用来替换的字符串’) ;
eg:
UPDATE member
SET phone
=replace(phone
, ‘’', ‘’) ;
8、查看进程
SHOW PROCESSLIST;
9、杀死进程
KILL 进程
;