# 比较数据库对象的数据

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 比较数据   在表、视图和物化视图的上下文菜单中可用。
>
>
>
> 要增加比较的行数，请配置 [限制页面大小为](rows.html#making_all_rows_visible_proc)形参。
>
>
>
> 有关架构比较和迁移功能，请参阅 [架构比较和迁移](schema-comparison-and-migration.html) 主题。

比较数据   操作会比较表、视图和物化视图的输出。 要找到此操作，请在   数据库  工具窗口（  `视图 | 工具窗口 |   数据库` ）中选择两个对象，右键点击所选内容并导航到   工具  。 此外，您可以双击这些对象，然后从编辑器中 [对比它们](#compare-table-data)。

您可以比较属于不同类型的两个对象的内容。 例如，表格和物化视图的输出。

![表格内容](https://resources.jetbrains.com/help/img/idea/2026.3/db_compare_table_contents.png)

容差   和   检测列插入   的描述可在 [内容 差异查看器 控制项](#controls-of-the-difference-viewer-for-contents)中找到。

Procedure: 比较 数据库 工具窗口中两个表的内容

默认情况下，当您运行查询时，返回的行数限制为 500。 此限制是为了避免过载（例如，当您的  `SELECT`  语句返回一百万行时）。 若要增加比较的行数，请配置 [将页面大小限制为参数](rows.html#making_all_rows_visible_proc)。

1. 在   数据库   工具窗口中，选择两个表。

2. 右键点击选择内容并导航到  `工具 | 比较数据` 。

如果需要，请在比较对话框中更改   容差   参数的值。   容差   参数定义了两个结果集之间允许的最大差异数量。 例如，如果您希望将两行视为相等，只要它们的数据仅在单个列中有所不同，请在  `1` 字段中输入   容差  。

Procedure: 比较数据编辑器中两张表的内容

1. 打开 您 要比较的 两个表。 要打开表，请在   数据库  工具窗口中双击它。

2. 在编辑器中，点击 ![“比较数据”图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.vcs.diff.svg)   比较数据   并选择第二个表。

[Video](https://resources.jetbrains.com/help/img/idea/2026.3/compare_table_data_in_data_editor.mp4)

## 内容差异查看器的控件

在内容的差异查看器中，您可以使用数据编辑器中提供的相同排序功能。 有关排序列的更多信息，请参阅 [排序数据](tables-sort.html)。

差异查看器 的主要用途是显示数据的差异和相似之处。

为了突出区别，IntelliJ IDEA 使用以下颜色编码：

|  颜色  |  描述  |
| --- | --- |
|  ![不同的行](https://resources.jetbrains.com/help/img/idea/2026.3/db_diff_content_rows_that_differ.png)  |  不同的行。  |
|  ![列中不同的单元格](https://resources.jetbrains.com/help/img/idea/2026.3/db_diff_content_cells_that_differ.png)  |  列中不同的单元格。  |
|  ![认为相等的行](https://resources.jetbrains.com/help/img/idea/2026.3/db_diff_content_rows_considered_equal.png)  |  被视为相等的行。  |

### 检测列插入

当表格的列数不同时，将忽略列数较多的表格中的额外列。 如果选项   检测列插入  开启，差异最大的列将被忽略。 在下图中，第二个表格的第一列差异最大，因此被忽略。 因此，第二行显示为包含相同的数据。

如果该选项关闭，将忽略最后一列。 在下图中，第二个表格的最后一列被忽略。 所以所有的行都显示为包含不同的数据。

### 容差

容差   参数定义了列的差异数量以便将两行视为相等。 例如，如果将   容差   设置为 1，则在一列中不同的行被视为相等。

![将表格数据的容差比较设置为一](https://resources.jetbrains.com/help/img/idea/2026.3/db_compare_table_data_tolerance_one.png)

将容差设置为零时，这样的行将被视为不同。

![比较表格数据容差等于零](https://resources.jetbrains.com/help/img/idea/2026.3/db_compare_table_data_tolerance_zero.png)

通过此设置，您还可以检查当行数据不同的列。 这些列中的此类行会高亮显示。 如果您的数据比一行多，请增加   容差   选项。 例如，设置   容差   为  `1`  时，您可以看到在两张表之间只有  `姓氏名称`  列有所不同。

![当行包含不同的数据时，列会有所不同](https://resources.jetbrains.com/help/img/idea/2026.3/db_columns_differ_when_rows_contain_different_data.png)

