MySQL-如何通过一条sql获取某个表中除了某个字段外的所有字段名
系统升级过程中,在做数据库升级的时候,我知道某个表中的一个字段不需要了,其他字段名我也不知道,想获取其他所有字段名字。比如:
某个表中的字段有id、name、title、content、comment、ext。目前我只知道ext字段的值不需要,我通过一个sql得到这样的结果:id_name_title_content_comment
这样如何来实现呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
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
) 使用默认的逗号分隔较好。或者
都可以得到具体的表信息,然后其它的通过程序去处理吧。可以查information_schema,但是这个表不一定有权限。
在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