我有一个应用程序,我必须避免处理从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内置函数将字段名称作为记录返回?
答案 0 :(得分:1)
您可以从表格中获取列:
SHOW COLUMNS FROM mytable FROM mydb;
SHOW COLUMNS为每个表列显示以下值:
字段表示列名。
Type表示列数据类型。
排序规则表示非二进制字符串列的排序规则,或 其他列为NULL。仅当您使用时,才会显示此值 完整的关键字。
如果可以存储NULL值,则Null字段包含YES 柱。如果没有,那么从MySQL 5.0.3开始,该列包含NO,并且'' 在那之前。
https://dev.mysql.com/doc/refman/5.0/en/show-columns.html
有一些方法可以使用您的应用程序层格式化