我想编写一个程序,可以向用户显示数据库中的表列表,并显示这些表的描述。那么我可以做一个“select * from system_table”或类似的东西吗?
答案 0 :(得分:6)
这将为您提供表格列表:
show tables;
描述每个表格:
describe table_name;
要同时尝试两者,请尝试:
SELECT * FROM DOMAIN.TABLES WHERE TYPE = 'TABLE'
SELECT * FROM DOMAIN.COLUMNS WHERE TABLETYPE = 'TABLE'
结果类似于MySql show和describe语句
答案 1 :(得分:2)
除了show tables
之外,MySQL 5.0+还支持INFORMATION_SCHEMA
元数据库:
SELECT table_name, table_comment FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'db_name';
information_schema.tables
如果您感到好奇,还会有其他信息。
请注意,如果在创建表并使用InnoDB时未提供注释,则会在table_comment列中填入不必要的数据,例如为此表保留的InnoDB空间或外键约束。