从具有相似前缀的列中提取数据
由于数据库用户经常遇到具有许多共享相似命名约定的列的表,因此根据这些前缀可能具有挑战性。考虑一个包含“蔬菜名称”、“水果名称”和“肉类名称”等列的表。
在尝试选择与特定食物组相关的所有信息时,用户尝试:
<code class="sql">$Food = "Vegetable"; mysql_query("SELECT `" . $Food . "%` FROM `Foods`");</code>
然而,这个查询被证明是无效的。为了解决这个问题,需要根据所需的前缀动态构建 SQL 查询。
动态 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>
示例:
假设检索到的列名称为“Vegetable_Name”和“Vegetable_Type”。以下查询将从这些列中选择数据:
<code class="sql">SELECT Vegetable_Name, Vegetable_Type FROM Foods</code>
这种方法可以实现高效且有针对性的数据检索,即使对于具有共享相似前缀的多个列的表也是如此。
以上是如何从 SQL 数据库中具有相似前缀的列中选择数据?的详细内容。更多信息请关注PHP中文网其他相关文章!