通配符 SQL 查询以搜索特定文本并替换
Posted
技术标签:
【中文标题】通配符 SQL 查询以搜索特定文本并替换【英文标题】:Wildcard SQL Query to search for specific text & replace 【发布时间】:2020-09-11 16:22:35 【问题描述】:我正在尝试进行一个非常通配符的 SQL 查询,以跨多个站点(通过 phpMyAdmin)查找特定 URL 并替换它们。
我从以下开始,但它显然不是有效的 SQL 查询:
SELECT * FROM *.* WHERE * LIKE '%https://website.com/er01%'
我实际上是在尝试查看每个数据库、每个表、每个列。一旦我检查了它们,我想创建一个查询以用新的 URL 替换 URL(URL 需要在值的中间替换,因为它们通常在页面内容中)
我是 SQL 的新手,所以它可能是显而易见的,但我无法在网上任何地方找到一种方法来做我想做的事。
【问题讨论】:
【参考方案1】:你需要跑
show databases;
对于每个数据库,运行
show tables;
对于每个表,运行
desc <tablename>
对于每一列,运行
select * from databasename.tablename where columnname like '%https://website.com/er01%';
如果这样做的可能性太多,请考虑生成查询。
如果您需要所有结果,请考虑合并它们。
【讨论】:
以上是关于通配符 SQL 查询以搜索特定文本并替换的主要内容,如果未能解决你的问题,请参考以下文章