从MySQL提取数据以导入到图表工具

时间:2018-11-21 07:09:19

标签: mysql erd lucidchart

我正在尝试导入SQL以创建ERD。我选择了从SQL导入,并将查询复制到相关数据库的PhpMyAdmin数据库管理员中。该查询似乎提取了有关我的MySQL服务器中所有数据库的信息,而不只是感兴趣的数据库。

这是导入SQL向导的代码:

  

SELECT'mysql'dbms,t.TABLE_SCHEMA,t.TABLE_NAME,c.COLUMN_NAME,c.ORDINAL_POSITION,c.DATA_TYPE,c.CHARACTER_MAXIMUM_LENGTH,n.CONSTRAINT_TYPE,k.REFERENCED_TABLE_SCHEMA,k.REFERENCED_TABLE_NAME FROM_SCHER .TABLES t左联接INFORMATION_SCHEMA.COLUMNS c在t.TABLE_SCHEMA = c.TABLE_SCHEMA和t.TABLE_NAME = c.TABLE_NAME左联接JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k在c.TABLE_SCHEMA = k.TABLE_SCHEMA和c.TABLE_NAME = k.TABLE_NAME和c。 COLUMN_NAME = k.COLUMN_NAME左联接INFORMATION_SCHEMA.TABLE_CONSTRAINTS n ON在k.CONSTRAINT_SCHEMA = n.CONSTRAINT_SCHEMA和k.CONSTRAINT_NAME = n.CONSTRAINT_NAME和k.TABLE_SCHEMA = n.TABLE_SCHEMA和k.TABLE_NAME = n.TABLE_NAME所在的位置。 TABLE'和t.TABLE_SCHEMA NOT IN('INFORMATION_SCHEMA','mysql');

如何仅提取1个名为jw-app的数据库?

1 个答案:

答案 0 :(得分:0)

您的查询以WHERE子句结尾,该子句定义了t.TABLE_SCHEMA中要排除的值(即information_schema和mysql)。

WHERE t.TABLE_TYPE='BASE TABLE' 
AND t.TABLE_SCHEMA NOT 
IN('INFORMATION_SCHEMA','mysql');

您只需要将其反转,然后使用

指定要包含的数据库名称即可。
t.TABLE_SCHEMA IN('jw_app');

或者,更简单

t.TABLE_SCHEMA = 'jw_app';