以字符串格式返回 MySQL 表中的所有列

Posted

技术标签:

【中文标题】以字符串格式返回 MySQL 表中的所有列【英文标题】:return all the columns in a MySQL table in a string format 【发布时间】:2012-07-05 16:08:07 【问题描述】:

有没有办法?

我想要这样的东西返回:

course_id, name, par, yds, mtrs

我知道如何在表格 (SHOW FIELDS FROM course;) 中显示字段/列,但是这些以表格格式返回。

【问题讨论】:

【参考方案1】:
select group_concat(column_name separator ', ') 
from information_schema.columns 
where table_name = 'course' 
group by table_name

【讨论】:

【参考方案2】:

如果您的 DB 用户有权访问信息架构,您可以使用以下内容:

SELECT GROUP_CONCAT( `COLUMN_NAME` )
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_SCHEMA` = 'your_database_name'
AND `TABLE_NAME` = 'your_table_name'
GROUP BY `TABLE_NAME`

【讨论】:

【参考方案3】:

SELECT GROUP_CONCAT(COLUMN_NAME,',') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tablename'

【讨论】:

返回错误:Error Code: 1064 You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'SELECT GROUP_CONCAT(COLUMN_NAME,',') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE' at line 7 您是在使用应用程序还是从命令行运行它? 我正在使用 SQLYog v10.12(最新版本),但我看到了一个错误。不过,我看不出查询有什么问题。 让我们continue this discussion in chat

以上是关于以字符串格式返回 MySQL 表中的所有列的主要内容,如果未能解决你的问题,请参考以下文章

如何从 MySQL/MariaDB 中的二进制列格式化 uuid 字符串

MySQL Select * FROM table WHERE 列(JSON 对象)特定值的字符串长度 <1

在 MySQL 中的表的多个列中查找连接的字符串

mysql中Timestamp,time,datetime 区别??

在 mySQL 中的整个表中搜索字符串

TSQL - 选择包含列表中所有项目的行