全球主机交流论坛

标题: mjj帮写个sql命令,感谢! [打印本页]

作者: salahy    时间: 2023-10-23 21:20
标题: mjj帮写个sql命令,感谢!
本帖最后由 salahy 于 2023-10-23 21:23 编辑

mysql怎么批量把含有下列内容的文章替换,最好是sql语句

</p>随机的文字<span>转载于xx网</span>

替换成
</p><h3>随机的文字<h3>


红色的是不固定的文字,黑色的是固定的
作者: zs96500    时间: 2023-10-23 21:21
不给钱谁管你
作者: Apvim    时间: 2023-10-23 21:22
不如问问chatgpt?
作者: 秋秋0827    时间: 2023-10-23 21:22
很简单,建议直接交给chatgpt
作者: dragonfsky    时间: 2023-10-23 21:24
什么数据库 直接问gpt不就好了
作者: HOH    时间: 2023-10-23 21:24
付费服务 
作者: 0.0    时间: 2023-10-23 21:24
你可以使用MySQL的`UPDATE`语句结合`REPLACE`函数来批量替换含有指定内容的文章。假设你的文章存储在一个名为`articles`的表中,文章内容位于一个名为`content`的列中,以下是一种可能的SQL语句示例:

```sql
UPDATE articles
SET content = REPLACE(content, '</p>随机的文字<span>转载于xx网</span>', '</p><h3>随机的文字<h3>');
```

这个SQL语句会更新`articles`表中的`content`列,将所有包含`</p>随机的文字<span>转载于xx网</span>`的内容替换为`</p><h3>随机的文字<h3>`。

请注意,这个SQL语句假设文章内容在`content`列中,你需要根据你的实际情况修改表名和列名。确保在运行这个SQL语句之前,先备份你的数据,以防出现意外情况。
作者: salahy    时间: 2023-10-23 21:26
秋秋0827 发表于 2023-10-23 21:22
很简单,建议直接交给chatgpt

回答的都是错的
作者: salahy    时间: 2023-10-23 21:28
0.0 发表于 2023-10-23 21:24
你可以使用MySQL的`UPDATE`语句结合`REPLACE`函数来批量替换含有指定内容的文章。假设你的文章存储在一个名 ...

大佬,机器就是机器还是不如人脑,回答的都是错的
作者: Wine    时间: 2023-10-23 21:28
您可以使用MySQL的REPLACE函数来批量替换文章内容。下面是一个示例SQL语句:

sql
UPDATE your_table SET your_column = REPLACE(your_column, '</p>随机的文字<span>转载于xx网</span>', '</p><h3>随机的文字<h3>')
WHERE your_column LIKE '%</p>随机的文字<span>转载于xx网</span>%';
请注意将上述语句中的your_table替换为您的表名,your_column替换为包含文章内容的列名。此外,如果您的文章内容包含其他特殊字符,可能需要对SQL语句进行调整。

在执行该SQL语句之前,请务必备份相关数据,以防误操作造成数据丢失。
作者: 0.0    时间: 2023-10-23 21:35
salahy 发表于 2023-10-23 21:28
大佬,机器就是机器还是不如人脑,回答的都是错的


在MySQL中,你可以使用 REPLACE 函数或 REGEXP_REPLACE 函数来替换字符串。但是,因为你的需求中有随机的内容,你需要用到正则表达式。在MySQL 8.0及以上版本,你可以使用 REGEXP_REPLACE 函数。以下是一个例子:

```sql
UPDATE your_table
SET your_column = REGEXP_REPLACE(your_column, '</p>(.*)<span>转载于xx网</span>', '</p><h3>\\1<h3>')
WHERE your_column REGEXP '</p>.*<span>转载于xx网</span>';
```

这个语句会找到所有包含 `</p>随机的文字<span>转载于xx网</span>` 格式的字符串,并替换为 `</p><h3>随机的文字<h3>`。这里的 `\\1` 是一个反向引用,代表正则表达式中的第一个括号内匹配的内容,即“随机的文字”。

注意:

1. 你需要替换 `your_table` 和 `your_column` 为你的实际表名和列名。
2. 这个操作会直接修改你的数据,所以在执行前最好备份你的数据。
3. 正则表达式可能会有性能问题,如果你的数据量非常大,需要考虑其他的解决方案。
作者: 宏达    时间: 2023-10-23 22:25
太简单了,不想写
作者: lonefly    时间: 2023-10-23 22:29
https://www.yunloc.com/1099.html
作者: szeweb    时间: 2023-10-24 00:39
知识付费,白**肯定没人愿意哈。
作者: niwentao    时间: 2023-10-24 15:05
正则表达式匹配,然后替换




欢迎光临 全球主机交流论坛 (https://91ai.net/) Powered by Discuz! X3.4