gpt4 book ai didi

mysql - 通过比较两个不同的数据库来查找丢失的表

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:11 25 4
gpt4 key购买 nike

我想在数据库中查找缺失的表。

我有两个数据库:

  1. 数据库_1(包含120个表)
  2. database_1_backup(它包含121 个表)

到目前为止我做了什么:

我使用以下 sql 查询找到了两个数据库中的表列表:

show tables;

使用表格列表,我制作了两个文本文件,然后比较了两个文本文件。这就是我找到丢失的表的方式(这是一项耗时的任务,所以)。

是否有任何查询可用于通过比较两个表来查找丢失的表 数据库?

最佳答案

您可以使用聚合来查找任一数据库中丢失的表:

SELECT TABLE_NAME,
(CASE WHEN SUM(TABLE_SCHEMA = 'dbname1') = 0
THEN 'Missing in dbname1'
ELSE 'Missing in dbname2'
END) as which
FROM information_schema.TABLES
WHERE TABLE_SCHEMA IN ('dbname1', 'dbname2')
GROUP BY TABLE_NAME
HAVING COUNT(*) = 1
ORDER BY TABLE_NAME;

关于mysql - 通过比较两个不同的数据库来查找丢失的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57306475/

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