我正尝试在mySQL中的整个表中搜索字符串。
我想搜索表的所有字段和所有主菜,返回包含指定文本的每个完整条目。
我不知道如何轻松地搜索多个字段;以下是详细信息:
该表是“客户端”。它有大约30个字段和800个条目,太多了,无法在浏览器中一次显示所有内容。我想搜索一个名称(即"Mary"),但它可以在shipping_name field
或billing_name field
中,或email
字段中,等等。
我想在所有字段中搜索包含字符串"Mary“的所有条目。这是我认为应该有效但不可行的方法:
SELECT * FROM `clients` IN 'Mary'
发布于 2012-08-14 02:12:00
确定可能与您的搜索相关的所有字段,然后使用如下查询:
SELECT * FROM clients
WHERE field1 LIKE '%Mary%'
OR field2 LIKE '%Mary%'
OR field3 LIKE '%Mary%'
OR field4 LIKE '%Mary%'
....
(do that for each field you want to check)
使用LIKE '%Mary%'
而不是= 'Mary'
将查找包含someCaracters + 'Mary‘+ someCaracters的字段。
发布于 2015-03-02 21:52:41
除了带有“like”关键字的pattern matching之外。您也可以使用fulltext功能进行搜索,如下所示;
SELECT * FROM clients WHERE MATCH (shipping_name, billing_name, email) AGAINST ('mary')
发布于 2015-05-21 22:25:09
如果您只是在寻找一些文本,并且不需要用于编程的结果集,那么您可以免费使用install HeidiSQL (我使用的是v9.2.0.4947)。
右键单击任意数据库或表,然后选择“在服务器上查找文本”。
所有的匹配都显示在每个表的单独选项卡中-非常好。
非常有用,为我节省了几个小时。忘掉冗长的查询吧!
https://stackoverflow.com/questions/11939751
复制相似问题