mysql - 如何运行查询以在 blob 文件中查找字符串?

标签 mysql sql mediawiki

Mediawiki 在数据库“文本”中有一个包含页面内容的表格。它被保存为 [BLOB] 文件。 我想运行一个查询来搜索网站上的所有文本,以查看哪些页面包含某个“字符串”。 如何运行查询来搜索 [blob] 文件?

最佳答案

Mediawiki 标记文本存储在old_text 字段中,它是mediumblob 类型。您可以像查询任何其他基于文本的字段一样查询它。 MySQL 会将您的字符串转换为二进制以供查询。请注意,这是区分大小写的搜索!

select old_id from text where old_text like "%string%";

如果您需要不区分大小写,那么您需要应用适当的 character set对列使用不区分大小写的排序规则:

SELECT old_id from text where CONVERT(old_text USING latin1) like '%STRing%';

请注意,如果您的表不小,这些查询将花费很长时间。

关于mysql - 如何运行查询以在 blob 文件中查找字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19563838/

相关文章:

mysql - javax.persistence.EntityExistsException : a different object with the same identifier value was already associated with the session 异常

MySQL 查询用于使用 HTML 表单复选框检索记录

java - 为什么 DateTime 字段上的 getTimestamp 返回的结果与选择 unix_timestamp 的结果不同?

mysql - PHPMyAdmin放入最新的数据库

python - 如何使用 Mediawiki API 在 python 中创建包含长文本和列表的页面

php - 重命名 MySQL 中的重复行

mysql - 将两行结果合并为一行 MYSQL

sql - INSERT INTO SELECT * FROM,同时将数据类型转换为外键

python - 从维基百科页面的类别中获取更一般的类别

mediawiki - 仅从 MediaWiki 中的子页面 url 获取页面名称