首页 >数据库 >mysql教程 >如何从 SQL 数据库中具有相似前缀的列中选择数据?

如何从 SQL 数据库中具有相似前缀的列中选择数据?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 12:16:29846浏览

How Can I Select Data from Columns with Similar Prefixes in a SQL Database?

从具有相似前缀的列中提取数据

由于数据库用户经常遇到具有许多共享相似命名约定的列的表,因此根据这些前缀可能具有挑战性。考虑一个包含“蔬菜名称”、“水果名称”和“肉类名称”等列的表。

在尝试选择与特定食物组相关的所有信息时,用户尝试:

<code class="sql">$Food = "Vegetable";
mysql_query("SELECT `" . $Food . "%` FROM `Foods`");</code>

然而,这个查询被证明是无效的。为了解决这个问题,需要根据所需的前缀动态构建 SQL 查询。

动态 SQL 查询生成

要检索所需的列,请按照以下步骤操作步骤:

  1. 提取列名:执行以下 SQL 语句检索以指定前缀开头的所有列的名称:
<code class="sql">SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Foods'
    AND table_schema = 'YourDB'
    AND column_name LIKE 'Vegetable%'</code>
  1. 构造查询字符串:根据检索到的列名称,使用适当的表名称和列名称列表动态构造 SELECT 查询。

示例:

假设检索到的列名称为“Vegetable_Name”和“Vegetable_Type”。以下查询将从这些列中选择数据:

<code class="sql">SELECT Vegetable_Name, Vegetable_Type
FROM Foods</code>

这种方法可以实现高效且有针对性的数据检索,即使对于具有共享相似前缀的多个列的表也是如此。

以上是如何从 SQL 数据库中具有相似前缀的列中选择数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn