mysql - 如何使用 MySQL 完成此操作还是需要编写 php 脚本

标签 mysql

我有一个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/

相关文章:

php - 如何对CodeIgniter和MySql表中调查的房屋数量进行求和

php - 根据ORDER获取每一行的位置

php - 使用表单中的多个变量进行查询未按预期运行

来自 WCF 服务的带有 SSL 的 MySQL Connector/Net 失败

php - Laravel 查询生成器计数

mysql - 如何自动化地将密码安全地传递给 MySQL 客户端

php - Wordpress - 在页面编辑中使用 SQL 代码

mysql - 查询获取相同线路 id 但线路 id 不同的问题

java - 有什么方法可以使用 REGEXP 将 sql 查询转换为 hql 查询

mysql - mySQL 索引从什么时候开始对简单选择产生影响?