MySQL删除包含特定单词的行

标签 mysql sql

我正在尝试从包含特定单词的所有行中删除特定列中的行。

例如:

删除包含单词 apple 的行,它始终位于行的开头。

+--+------------------+
|ID|data              |
+--+------------------+
|1 |sometext1         |
|  |sometext2         |
|  |apple sometext3   |
|  |sometext4         |
+--+------------------+
|2 |apple sometext5   |
|  |sometext6         |
+--+------------------+

所以结果是:

+--+------------------+
|ID|data              |
+--+------------------+
|1 |sometext1         |
|  |sometext2         |
|  |sometext4         |
+--+------------------+
|2 |sometext6         |
+--+------------------+

'SometextX' 每行都不同,每行的行数都不同,并且每行的字符数也不同。 我真的需要 MySQL 任何帮助。

最佳答案

您最好在此处使用 REGEXP 来匹配每行中的模式:

DELETE FROM yourTable WHERE text REGEXP '^apple';

REGEXP 允许相当复杂的正则表达式匹配,如果您的需求发生变化或以后变得更加复杂,这将很有用。

编辑:MySQL 没有内置对正则表达式替换的支持,因此没有简单的方法来完成您想要的任务。

删除单词 apple 的通用正则表达式模式为 \bapple\b。您可以搜索此模式并替换为空字符串。

关于MySQL删除包含特定单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49405260/

相关文章:

mysql - Microsoft SQL 与 mySQL 的连接

MySQL:按小时和其他不同字段分组

java - Oracle/J2EE hibernate : ORA-00001: unique constraint violated due to HBM generated sequence

sql - 使用 CHECK ADD CONSTRAINT 后接 CHECK CONSTRAINT 与 ADD CONSTRAINT

mysql - 当 EXPLAIN 看起来很好时,为什么这个查询要检查这么多行?

mysql - 从mysql中一对多关系的两个表中检索数据

c# - 在 c# 代码中使用 dapper 将输出参数传递给存储过程

sql - NoSQL系统保存关系数据

mysql - SQL - 使用占位符检索与占位符类似的行

SQL SUM/AVG 查询排除 postgres 中的行