是否有可能以某种方式获得MySQL数据库的结构,或只是一些简单的查询表?

或者有没有别的方法,我怎么做?


当前回答

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products'; 

哪里Table_schema是数据库名称

其他回答

要获得整个数据库结构的CREATE TABLE语句集,使用mysqldump:

mysqldump database_name --compact --no-data

对于单表,在mysqldump中将表名加在db名之后。使用SQL和SHOW CREATE TABLE可以得到相同的结果:

SHOW CREATE TABLE table;

如果您喜欢列列表,则使用DESCRIBE:

DESCRIBE table;

第一个答案的变化,我觉得很有用

打开你的命令提示符并输入(你不需要登录到你的mysql服务器)

mysqldump -hlocalhost -u<root> -p<password>  <dbname>  --compact --no-data > </path_to_mydump/>mysql.dmp

我觉得你想要的是描述

DESCRIBE table;

您还可以使用SHOW TABLES

SHOW TABLES;

获取数据库中的表列表。

这就是SHOW CREATE TABLE查询。您还可以查询SCHEMA TABLES。

SHOW CREATE TABLE YourTableName;
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products'; 

哪里Table_schema是数据库名称