gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:44:29 24 4
gpt4 key购买 nike

我正在尝试在 mySQL 中的整个表中搜索字符串。

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

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

表格是“客户”。它有大约 30 个字段和 800 个条目,在浏览器中一次显示太多了。我想搜索一个姓名(即“Mary”),但它可能在 shipping_name 字段billing_name 字段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 中的整个表中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com