MySQL-如何通过一条sql获取某个表中除了某个字段外的所有字段名

发布于 2017-01-28 16:34:44 字数 200 浏览 1540 评论 3

系统升级过程中,在做数据库升级的时候,我知道某个表中的一个字段不需要了,其他字段名我也不知道,想获取其他所有字段名字。比如:

某个表中的字段有id、name、title、content、comment、ext。目前我只知道ext字段的值不需要,我通过一个sql得到这样的结果:id_name_title_content_comment

这样如何来实现呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-10-05 03:58:49

select group_concat(`COLUMN_NAME` separator '_') from information_schema.`COLUMNS` where TABLE_SCHEMA='database_name' and TABLE_NAME='table_name'

上边sql将会把指定表中的字段按照你的要求查询出来

如果 已知 有些字段的值不需要 再加一个条件 and COLUMN_NAME not in('ext')

如果字段中使用下滑线的话,group_concat(COLUMN_NAME) 使用默认的逗号分隔较好。

晚风撩人 2017-03-04 02:44:04
SHOW COLUMNS FROM 表名

或者

DESC 表名

都可以得到具体的表信息,然后其它的通过程序去处理吧。可以查information_schema,但是这个表不一定有权限。

瑾兮 2017-02-06 21:50:08

在information_schema数据库里面查找就可以
SELECT GROUP_CONCAT(column_name SEPARATOR '_') FROM information_schema.COLUMNS WHERE column_name <> 'ext' AND table_name='tb_name' GROUP BY table_name

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文