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中做到这一点吗?