mysql检索字段名作为记录集的一部分

mysql检索字段名作为记录集的一部分,mysql,field,Mysql,Field,我有一个应用程序,在这个应用程序中,我必须避免对SELECT查询返回的MySQL记录集进行任何处理,因为以任何方式与返回进行交互都会导致昂贵的VBA操作(这会导致MS Excel因大数据返回而崩溃)。相反,我将记录集直接传递到单元格区域。这要求数据服务器对记录集进行格式化和排序 我希望select查询返回一个记录集,第一行是字段列表。我发现自己在做这样的事情 (SELECT 'ticker', 'name', 'revenue', 'eps') UNION (SELECT ticker, nam

我有一个应用程序,在这个应用程序中,我必须避免对SELECT查询返回的MySQL记录集进行任何处理,因为以任何方式与返回进行交互都会导致昂贵的VBA操作(这会导致MS Excel因大数据返回而崩溃)。相反,我将记录集直接传递到单元格区域。这要求数据服务器对记录集进行格式化和排序

我希望select查询返回一个记录集,第一行是字段列表。我发现自己在做这样的事情

(SELECT 'ticker', 'name', 'revenue', 'eps')
UNION
(SELECT ticker, name, revenue, EPS, FROM table
WHERE ticker IN
('BLK','DOV','ESL','CSCO','FB','AME','AXP','BAC','BEAV','EL','MMM','IBM'))
ORDER BY 
FIELD(ticker, 'ticker','BLK','DOV','ESL','CSCO','FB','AME','AXP','BAC','BEAV','EL','MMM','IBM')

这感觉有点可笑。是否真的没有MySQL内置函数将字段名作为记录返回?

您可以从如下表中获取列:

SHOW COLUMNS FROM mytable FROM mydb;
“显示列”为每个表列显示以下值:

字段指示列名

类型指示列数据类型

排序规则表示非二进制字符串列的排序规则,或 其他列为NULL。仅当您使用 完整关键字

如果可以在中存储空值,则Null字段包含YES 专栏。如果不是,则该列包含MySQL 5.0.3中的NO,以及“” 在那之前


有多种方法可以在应用程序层中对此进行格式化

它们将作为元数据返回。您希望它们成为您返回的记录的一部分吗?这是不寻常的。通常,当我阅读这个问题的标题时,你只是让excel中的数据返回到静态标题下(因此在A2中而不是单元格A1中),你的“荒谬”方法正是我打算提出的解决方案。好的,我将包含一个额外的字段和一个派生查询的额外级别,以允许ORDER BY将标题行保持在顶部。我很想知道是否有更好的办法。明白了。谢谢也许将元数据放入记录集中的要求比我最初想象的更奇特。