gpt4 book ai didi

mysql - 从 MySQL 中提取数据以导入图表工具

转载 作者:行者123 更新时间:2023-11-29 16:39:48 25 4
gpt4 key购买 nike

我正在尝试导入 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,
k.REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLES t
LEFT JOIN INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA=c.TABLE_SCHEMA
AND t.TABLE_NAME=c.TABLE_NAME
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.TABLE_SCHEMA=k.TABLE_SCHEMA
AND c.TABLE_NAME=k.TABLE_NAME
AND c.COLUMN_NAME=k.COLUMN_NAME
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS n ON k.CONSTRAINT_SCHEMA=n.CONSTRAINT_SCHEMA
AND k.CONSTRAINT_NAME=n.CONSTRAINT_NAME
AND k.TABLE_SCHEMA=n.TABLE_SCHEMA
AND k.TABLE_NAME=n.TABLE_NAME
WHERE t.TABLE_TYPE='BASE TABLE'
AND t.TABLE_SCHEMA NOT IN('INFORMATION_SCHEMA','mysql');

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

最佳答案

您的查询以 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';

关于mysql - 从 MySQL 中提取数据以导入图表工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53406902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com