如何批量删除mysql某个字段的某个值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量删除mysql某个字段的某个值?相关的知识,希望对你有一定的参考价值。

如何批量删除mysql某个字段的某个值

比如现在有个mysql数据库叫test,里面有30个表段,这30个表段里有一半的表段含有一个叫acid的字段,我现在想批量删除这个acid字段里值为2的数据,该怎么来写这个查询?


求大神解答!

SELECT
concat(
'delete from ',
a.table_schema,
'.',
a.table_name,
' where ',
a.column_name,
'=2;'
)
FROM
information_schema. COLUMNS a
WHERE
a.column_name = 'acid'
AND EXISTS (
SELECT
1
FROM
information_schema. TABLES b
WHERE
a.table_name = b.table_name
AND b.table_type = 'BASE TABLE'
);
把执行结果放到sql工具里边执行就可以了
参考技术A 第一步:查询出所有用户表。
第二步:查询每一个表里是否有指定字段,有则更新,没有就略过。
update test.表名 acid="" where acid=2 这样写就可以了
这条语句的执行顺序是,先查询出acid等于2的记录,
然后更新他们的acid字段为空字符(或者null等其他参数)。

mysql 批量修改 字段 值

UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`=1 我这个样修改只能 site_id 1的,但site_id 是有1-10000 的 对不起,小妹我第一次用到mysql 但他们默认的 `url` = '0' 我想批量改成8 啊 ,分太少 我才注册百度啊,对不起啊,希望懂的 大哥大姐 弟弟 妹妹指教。
怎么让我把 site_id`=1 到 site_id`=10000 一下子修改了 再次感谢

最好能在此基础上直接给我写好(我比较菜),我光用 谢谢 对了我说的是 mysql数据中中之星sql 语句,不是php中的代码

  MySQL批量替换指定字段字符串语句
  (1)updat 表名 set 字段名=replac(字段名,\'原来的内容\',\'替换后的内容\')
  举一个例子,就是我实际操作的时候的命令:
  updat cpg1410_pictures set filepath=replac(filepath,\'wallpapers/art/\',\'wallpapers/beautiful/art/\')
  或者
  updat xb_upload_1 set fileurl=replac(fileurl,\'www.baidu.com/\',\'baidu.com/\')
  (2)updat 数据表名 SET 字段名 = replac(字段名, \'要替换的字符串\', \'替换为\') wher 设定条件;
  语句中还可以加入替换条件,如只替换限定ID小于200的内容:
  updat wp_posts SET post_content = replac(post_content, \'搜索引擎优化\', \'搜索引擎营销\') wher ID < 200;
参考技术A 你可以调用一下php 用php中for循环做
就是把上面的语句放到循环中 site_id所传递的值改成变量用
for($id=1,$id<=10000,$id++)这样明白吗!!
参考技术B 你好用
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`=1
只能修改site_id`=1
你这个是用了准确的 指向
如果你想把site_id`=1-1000 以上的全部修改了那你只修改成
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`>1
或者你只想修改 1000以内的 那就site_id`<1000

还有很多 可以指定的 符号, 但只修改= 部分就可以了

这是mysql中 sql 执行WHERE的命令

具体我不会说 你试试看 如果成功了 就给分吧 祝好本回答被提问者采纳
参考技术C 我没用过mysql,但是按照mssql的写法应该跟这个差不多,可能应该这样写:
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`>=1 and link`.`site_id`<=10000

以上是关于如何批量删除mysql某个字段的某个值?的主要内容,如果未能解决你的问题,请参考以下文章

如何批量删除数据库中同一字段开头的表?

mysql 批量修改 字段 值

Navicat for MySQL这个软件,如何批量删除数据,求大神指导.

mySQL怎么批量替换查询结果中的字段值?

python批量删除shapefile文件中某字段的指定属性值

python批量删除shapefile文件中某字段的指定属性值