Mysql 如何获取所有行以及列名作为第一行

Mysql 如何获取所有行以及列名作为第一行,mysql,sql,Mysql,Sql,使用单个查询,可以获得表中的所有行以及列名。这样,我的第一行将包含列名。 我想在我的节点应用程序中使用结果 更新: 我正在开发NodeJS上的应用程序。我需要在UI中显示整个表视图。如果我使用select*from table name,我将只获取作为结果的行。我还需要另一个调用来获取列名。我只是在检查我们是否可以对单个查询执行相同的操作,这样我就可以通过node.js对mysql的一次调用获得所有信息。如果我正确回答了您的问题,这将对您有所帮助 Select * from table_name

使用单个查询,可以获得表中的所有行以及列名。这样,我的第一行将包含列名。 我想在我的节点应用程序中使用结果

更新:
我正在开发NodeJS上的应用程序。我需要在UI中显示整个表视图。如果我使用select*from table name,我将只获取作为结果的行。我还需要另一个调用来获取列名。我只是在检查我们是否可以对单个查询执行相同的操作,这样我就可以通过node.js对mysql的一次调用获得所有信息。如果我正确回答了您的问题,这将对您有所帮助

Select * from table_name;

谢谢

我不确定这是不是你要找的机器人,但试试这个:

select column_name from information_schema.columns where table_name='table'
也要检查

您可以尝试的另一件事是显示字段名:

SHOW FIELDS FROM table;

如果您知道列名,可以使用简单的联合:

SELECT 'firstname', 'lastname' UNION
SELECT firstname, lastname FROM people
结果:

+----+-----------+-------------+
|    | firstname |  lastname   |
+----+-----------+-------------+
|  1 | firstname | lastname    |
|  2 | Kenny     | Rogers      |
|  3 | Dolly     | Parton      |
|  4 | Michael   | Jackson     |
|  5 | Donald    | Trump       |
+----+-----------+-------------+
演示:

如果不知道可用于选择指定表中所有列名的列名,并将它们连接成可在查询中执行的字符串,请执行以下操作:

SET @sql = NULL;

SELECT CONCAT("'", GROUP_CONCAT(column_name ORDER BY ordinal_position SEPARATOR "', '"), "'") 
  INTO @sql
  FROM information_schema.columns
  WHERE table_schema = 'databasename' AND table_name = 'people';

SET @sql = CONCAT('SELECT ', @sql, ' UNION SELECT * FROM people');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
演示:


注意:在上述语句中,用数据库名称替换
databasename
,用表名替换
people

上面的查询只返回列名。但是我的场景是我也需要所有的行。我希望你没有询问select*语句。我的场景是当我使用select*from table name时;在我的node(服务器端的JavaScript)应用程序中,我将只获取表中的行,但我在第一行中也需要列名。为什么不运行两个查询,一个选择
列名
,一个选择整个表。在node js框架中,可能有一些方法可以获取列名,否则它将如何映射数据,我认为这样做不合适。虽然我不太擅长SQL,但我只是想让你知道我们能在mysql中做到这一点吗?