当前位置: 首页 > 面试题库 >

在mySQL的整个表中搜索字符串

慕兴平
2023-03-14
问题内容

我试图在mySQL的整个表中搜索一个字符串。

我想搜索表的所有字段和所有主菜,返回包含指定文本的每个完整条目。

我不知道如何轻松地搜索多个字段。详细信息如下:

该表是“客户端”。它具有大约30个字段和800个条目,太多了以至于无法在浏览器中一次全部显示。我想搜索的域名(即“玛丽”),但它可能是在shipping_name fieldbilling_name field,或email字段等

我想在所有字段中搜索包含字符串“ Mary”的所有条目。我认为这应该可行,但不可行:

SELECT * FROM `clients` IN 'Mary'

问题答案:

尝试这样的事情:

SELECT * FROM clients WHERE CONCAT(field1, '', field2, '', fieldn) LIKE "%Mary%"

您可能需要查看SQL文档,以获取有关字符串运算符和正则表达式的其他信息。

编辑:NULL字段可能存在一些问题,因此以防万一,您可能想使用IFNULL(field_i, '')而不是field_i

区分大小写 :您可以使用不区分大小写的排序规则或类似的方法:

... WHERE LOWER(CONCAT(...)) LIKE LOWER("%Mary%")

只搜索所有字段
:我相信没有一种方法可以使SQL查询在没有明确声明要搜索的字段的情况下遍历所有字段。原因是存在关系数据库的理论和操纵关系数据的严格规则(某些东西例如关系代数或codd代数;这些是SQL的来源),理论上也不允许“仅搜索所有字段”之类的事情。当然,实际行为取决于供应商的具体实现。但是在通常情况下是不可能的。为了确保这一点,请检查SELECT运算符的语法(WHERE准确地说是“节”)。



 类似资料:
  • 本文向大家介绍如何在MySQL表中搜索特定字符串?,包括了如何在MySQL表中搜索特定字符串?的使用技巧和注意事项,需要的朋友参考一下 使用等于运算符进行完全匹配- 让我们首先创建一个表- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 以下是在MySQL表中搜索特定字符串的查询- 输出结果 这将产生以下输出-

  • 问题内容: 如何搜索in ,其中的字符串具有随机的列数? 我知道这是不正确的sql,但是会是这样的: 提前为SO社区 问题答案: 将全文索引添加到所有这些表中的所有字符串列,然后合并结果

  • 问题内容: 我有mysql表,其中有一列将xml存储为字符串。我需要找到xml列包含给定6个字符的字符串的所有元组。没关系-我只需要知道这6个字符串是否存在即可。 因此,将文本格式设置为xml可能并不重要。 问题:如何在mysql中搜索?即 有没有一种方法可以使用LIKE运算符执行此操作? 问题答案: 您可能可以使用该子句进行一些简单的字符串匹配: 如果您需要更多高级功能,请在此处查看MySQL的

  • 问题内容: 我发现 find_in_set 仅按单个字符串搜索: 在上面的示例中,“ a”是唯一用于搜索的字符串。 有什么方法可以使用find_in_set类型的功能并通过多个字符串进行搜索,例如: 在上面的示例中,我想通过三个字符串’a,b,c’进行搜索。 我看到的一种方法是使用 OR 除此之外,还有其他方法吗? 问题答案: 没有本机函数可以执行此操作,但是您可以使用以下技巧来实现目标

  • 问题内容: 我正在尝试在整个Oracle数据库中查找特定的字符串。 我已经在此处的另一个主题(在所有表中的所有字段中搜索特定值(Oracle))中遵循了该示例,并且当字符串是一列中的整个值时,它就可以正常工作。但是我需要搜索字符串作为列的一部分。 例如,如果我搜索“ Alert”,则应返回所有带有“ Alert”的列和所有带有“ Alert_QB”的列 这是当前的查询: 我认为它靠近“使用’ALE

  • 问题内容: 我正在尝试在mysql中搜索字符串的完全匹配。字符串为“ nrew”。但是当我执行下面的查询时,我仍然得到结果: 请帮忙。 问题答案: