gpt4 book ai didi

mysql - 连接多个信息性/描述性数据库查询

转载 作者:行者123 更新时间:2023-11-29 17:57:52 25 4
gpt4 key购买 nike

我需要连接两个数据库结果,首先:

DESCRIBE my_table

它为我提供了所有具有数据类型的列,并且:

SHOW INDEXES FROM my_table

它为我提供了可能有的每一列的索引名称。我需要将它们加入到 show_indexes.Column_name = describe.Field 上,这样我就可以得到与 DESCRIBE 几乎相同的结果,但现在还附加了索引名称(或者 NULL 如果没有)有一个索引),而不是仅仅 PRIMUL 等。像使用两个 SELECTS 那样连接这两个结果似乎不起作用.

这在 MySQL 中可能吗?

最佳答案

INFORMATION_SCHEMA检索它:

1-显示等效索引

SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'my_db' and TABLE_NAME = 'my_table';

2-描述等效内容

SELECT COLUMN_NAME AS `Field`, COLUMN_TYPE AS `Type`, IS_NULLABLE AS `NULL`, 
COLUMN_KEY AS `Key`, COLUMN_DEFAULT AS `Default`, EXTRA AS `Extra` FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'my_db' AND TABLE_NAME = 'my_table';

3-然后根据需要制定 JOIN 查询,这是一个示例:

    SELECT s.*, c.*
FROM
(
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'my_db' and TABLE_NAME = 'my_table'
) as s
RIGHT JOIN
(
SELECT COLUMN_NAME AS `Field`, COLUMN_TYPE AS `Type`, IS_NULLABLE AS `NULL`,
COLUMN_KEY AS `Key`, COLUMN_DEFAULT AS `Default`, EXTRA AS `Extra`
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'my_db' AND TABLE_NAME = 'my_table'
) as c
ON s.COLUMN_NAME = c.Field

关于mysql - 连接多个信息性/描述性数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48651491/

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