我有一个mysql数据库news,下面有一个名为links的表。其中一栏称为 link_title,它将包含类似这样的内容,不带引号“neil-degrasse-tyson-why-you-will-levitate”。该表中大约有 40,000 行。
我有一个来自 Google Analytics 的名为 topUrls.txt 的 txt 文件,其中显示了我网站上访问量最高的 1500 个网址。一行,一个 URL。 URL 已被清理以匹配数据库中 link_title 的内容。
有人可以指导我使用 mysql 脚本来基本上清理链接表中所有不具有与文本文件中 1500 个 URL 之一匹配的 link_title 的行吗?或者我需要用 php 之类的东西来编程吗?
最佳答案
将 topUrls.txt 加载到表中。我们将其称为 topUrls 并将该表的单列称为 Url。然后将 link_title 与 topUrls 匹配并在不匹配时删除
delete links
where link_title not in (
select Url from topUrls)
仅当 Google 文件的内容与现有数据库行完全匹配时,此方法才有效。否则,您将必须对子选择使用进一步的 WHERE
子句,并在其中进行一些字符串操作。
关于mysql - 如何使用 MySQL 完成此操作还是需要编写 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23725679/