使用通配符动态选择列
在具有许多具有相似前缀的列的数据库中,选择特定列可能具有挑战性。为了解决这个问题,请考虑制作一个适应所需列名称的动态 SQL 查询。
为了说明这一点,我们假设我们有一个名为“Foods”的表,其中包含“VegetableA”、“VegetableB”等列我们的目标是选择以特定单词开头的所有列,例如“Vegetable”。
尝试使用通配符“$Food”的原始查询被证明是无效的。可行的解决方案需要利用动态构建的 SQL 查询,该查询利用 LIKE 运算符来匹配具有所需前缀的列。以下查询提供了一个起点:
<code class="sql">SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Foods' AND table_schema = 'YourDB' AND column_name LIKE 'Vegetable%'</code>
在此查询中,采用 INFORMATION_SCHEMA.COLUMNS 视图来检索满足条件的列名称。 table_name 和 table_schema 过滤器确保搜索仅限于所需的表和数据库。最后,LIKE 运算符的“%”通配符匹配任何字符序列,使我们能够捕获以“Vegetable”开头的所有列。
以上是如何在数据库中动态选择带有通配符的列?的详细内容。更多信息请关注PHP中文网其他相关文章!