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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如何查找和删除MYSQL数据库中包含特定字符串的记录相关的知识,希望对你有一定的参考价值。

如何用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的记录,希望写出示例语句,谢谢!

你可以用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的记录

参考技术A delete from A where A.B like '%http://120.196.211.50/%'

%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
参考技术B select * from table where str like 'http://%' and str like '%.html'
后面条件可以不加
str like 'http://%' 是查找 以http:// 开头的字符串
参考技术C 参考:http://www.cnblogs.com/way_testlife/archive/2010/09/17/1829567.html

参考技术D delete from A where A.B like '%http://120.196.211.50/%'

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

Mysql查找如何判断字段是不是包含某个字符串

SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

数据表结构如下:

表中有如下9条记录

想把其中M开头的名字提取出来,可以使用SQL语句:

select * from nameinfo where name like 'M%'

提示:"%" 可用于定义通配符(模式中缺少的字母)。


提取name字段中包含某字符串的SQL如下:

select * from nameinfo where name like '%n%'

表示提取name字段中包含字母‘n’的记录

参考技术A 使用like
例如这样写
select * from db_type where name like ‘%字符串%’
like 'A%'第一个字母是A的字符串;
like '%A%'包含A的字符串;
not like 'A%'第一个字母不为A的字符串;
not like '%A%'不包含A的字符串;
另外:如果不包含的内容为%一类的特殊字符就需要使用[^%](不包含)了

以上是关于SQL如何查找和删除MYSQL数据库中包含特定字符串的记录的主要内容,如果未能解决你的问题,请参考以下文章

SQL中怎样写 被包含

在 SQL 请求中,如何查找字符串最后一部分中包含数字的所有记录(最后一个空格之后)

mysql怎么查询字符串中包含字符

mysql怎么查询字符串中包含字符

pandas删除dataframe列名称中包含特定字符串的数据列(dropping columns contains specifiec substring in dataframe)

SQL Server 2008 查询以查找列中包含非字母数字字符的行