【问题标题】:Show only user created tables in MySQL?在 MySQL 中只显示用户创建的表?
【发布时间】:2011-05-13 11:16:39
【问题描述】:

是否有一个 SQL 命令可以只显示用户创建的表,而排除 MySQL 数据库中默认存在的表?

【问题讨论】:

  • 你有用户表吗?还是您的意思是数据库中的用户?
  • 嗯..当我说“用户”时..真的只是我,root 用户..是的,我有权更改数据库。我已经创建了一些表,我只想查看那些表,而不是像:“general_log”,“help_category”等表,这些表在我首先创建数据库时存在,即安装了mysql ..

标签: mysql metadata information-schema


【解决方案1】:

到此结束:

select * from information_schema.tables 
where table_schema not in ('information_schema', 'mysql', 'performance_schema')

information_schema 包含有关您的数据库的元信息。您可以使用information_schema.tables 列出所有表。如果排除 information_schemamysql 这两个元模式,您将获得所有用户表

【讨论】:

  • 我所有表的 table_schema 都是 "mysql" ! ..所以,这个命令只返回一个空集:(
  • 对我来说一个明显的解决方案似乎是我可以创建另一个数据库并将我需要的所有表从 MySQL 数据库复制到新创建的数据库。但这不会解决这个问题,对吧..
  • 啊,你不应该把你的表放在系统模式中。那我帮不了你。阅读 MySQL 系统架构的文档,找出哪些是你的,哪些不是……
  • 如果没有其他选择,我想我将不得不求助于:)
  • 你应该! :-) 我认为您不应该在系统模式中创建自己的表。我很惊讶,MySQL 甚至允许你这样做......
猜你喜欢
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多