You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中筛选包含特定字符的数据?附pub表示例

在MySQL中筛选包含特定字符的数据

嗨,针对你提到的pub表,我来给你讲讲怎么在MySQL里筛选包含特定字符的数据,咱们结合你的表来举几个实用的例子~

先把你的pub表结构和数据整理成清晰的表格:

pub_idpub_name
P0010101Jex Max Publication
P0020101BPP Publication
H0030102New Harrold Publication
H0040101Ultra Press Inc.
P0050101Mountain Publication
P0060103Summer Night Publication
P0070104Pieterson Grp. of Publishers
P0080102Novel Publisher Ltd.

核心方法:使用LIKE操作符

MySQL里最常用的筛选包含特定字符的方式就是LIKE操作符,配合通配符能实现不同的匹配需求:

1. 筛选包含指定字符串的记录

如果你想找出所有pub_name里包含Publication的记录,可以用%通配符(%表示匹配任意长度的任意字符,包括0个字符):

SELECT * FROM pub WHERE pub_name LIKE '%Publication%';

执行后会返回前6条记录,因为它们的pub_name都包含Publication。

2. 筛选以指定字符串开头的记录

比如你想找pub_id以P开头的出版社,把%放在匹配字符串后面即可:

SELECT * FROM pub WHERE pub_id LIKE 'P%';

这条语句会返回pub_id以P开头的6条记录。

3. 筛选以指定字符串结尾的记录

如果要找pub_name以Ltd.结尾的出版社,把%放在匹配字符串前面:

SELECT * FROM pub WHERE pub_name LIKE '%Ltd.';

这条语句只会返回最后一条Novel Publisher Ltd.的记录。

4. 区分大小写的筛选

MySQL默认的LIKE不区分大小写,如果需要严格区分,可以加上BINARY关键字:
比如你想找pub_name里包含小写publication的记录(你的表中都是大写开头,所以这条语句不会返回结果):

SELECT * FROM pub WHERE BINARY pub_name LIKE '%publication%';

补充:用REGEXP实现复杂匹配

如果你的匹配需求更灵活(比如同时匹配多个关键词),可以用REGEXP(或RLIKE)操作符,比如找pub_name包含Publication或者Publishers的记录:

SELECT * FROM pub WHERE pub_name REGEXP 'Publication|Publishers';

这条语句会返回除了Ultra Press Inc.之外的所有记录。

内容的提问来源于stack exchange,提问作者Gagantous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:15:38