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

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


当前回答

选择COLUMN_NAME 从INFORMATION_SCHEMA。列 在TABLE_SCHEMA = ' bodb ' 和TABLE_NAME = ' abc ';

适用于获取所有列名

其他回答

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

哪里Table_schema是数据库名称

您可以选择下面的任何一个命令。所有这些或多或少都是一样的:

创建表table_name

DESC TABLE_NAME;

显示table_name中的所有列;(用于列属性)

解释TABLE_NAME;

描述TABLE_NAME;

看一下INFORMATION_SCHEMA。表的表。它包含关于所有表的元数据。

例子:

SELECT * FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE TABLE_NAME LIKE 'table1'

与其他方法相比,这种方法的优点是您可以轻松地将上面的查询作为其他查询中的子查询使用。

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

mysqldump database_name --compact --no-data

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

SHOW CREATE TABLE table;

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

DESCRIBE table;

用这个:

SHOW CREATE TABLE `users`;

会给你那张表的DDL吗

DESCRIBE `users`

将列出该表中的列