SQL如何查找和删除MYSQL数据库中包含特定字符串的记录
如何用SQL语句查找和删除MYSQL数据库中某字段中包含http://120.196.211.50/(完整字段值是http://120.196.211.50/bel/xx...
如何用SQL语句查找和删除MYSQL数据库中某字段中包含http://120.196.211.50/(完整字段值是http://120.196.211.50/bel/xxx/4267-g.html)这一类数字IP的记录(注:数字IP是不确定的,有的是http://164.56.341.21/等各类数字IP,IP后的字符串也是不确定的)比如查找并删除表A中的B字段里包含这类IP的记录,希望写出示例语句,谢谢!
展开
5个回答
展开全部
你可以用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]'
追问
你好!用你给出的语句select * FROM `aaa` WHERE `name` REGEXP 'http\://[0-9]'进行测试,查询结果为0啊;
不好意思,刚才可能是输入有误才查不出结果,我又重试了一下,结果是出来,但其中包含了http://50.game2999.com/这些记录,我只想删除纯数字IP的记录
展开全部
delete from A where A.B like '%http://120.196.211.50/%'
%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-03-29
展开全部
delete from A where A.B like '%http://120.196.211.50/%'
%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询