SQL如何查找和删除MYSQL数据库中包含特定字符串的记录

2024-11-11 02:59:50
推荐回答(4个)
回答1:

你可以用locate和substr配合使用达到模糊匹配的效果,然后用replace替换

UPDATE `aaa` SET `name`=replace(`link`,substr(`link`, locate('http://',`link`), locate( '/',`link`,locate( 'http://',`link`)+7)-locate( 'http://',`link`)), '')

 补充,看错了,你要的是删除是吧,我以为是替换呢

DELETE FROM `aaa` WHERE `name` REGEXP 'http\://[0-9]'
select * FROM `aaa` WHERE `name` REGEXP 'http\://[0-9]'

回答2:

delete from A where A.B like '%http://120.196.211.50/%'

%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

回答3:

select * from table where str like 'http://%' and str like '%.html'
后面条件可以不加
str like 'http://%' 是查找 以http:// 开头的字符串

回答4:

参考:http://www.cnblogs.com/way_testlife/archive/2010/09/17/1829567.html