创建生成表查询 (Visual Database Tools)

适用于:SQL Server

可以使用 Make Table 查询将行复制到新表中,这对于创建要处理的数据子集或将表的内容从一个数据库复制到另一个数据库很有用。 Make Table 查询类似于“插入结果”查询,但会创建一个新表以将行复制到该查询中。

创建生成表查询时,请指定:

  • 新数据库表的名称(目标表)。

  • 要从中复制行的表或表(源表)。 可以从单个表或联接表复制。

  • 你想要复制内容的源表中的列。

  • 如果要按特定顺序复制行,请设置排序条件。

  • 搜索条件用于定义要复制的行。

  • 如果您只想复制摘要信息,可以选择“按组”选项。

例如,以下查询创建一个名为 uk_customers 的新表,并将 customers 表中的信息复制到该表:

SELECT *   
INTO uk_customers  
FROM customers  
WHERE country = 'UK'  

若要成功使用 Make Table 查询,

  • 数据库必须支持 SELECT...INTO 语法。

  • 必须具有在目标数据库中创建表的权限。

创建生成表查询

  1. 将源表或表添加到“关系图”窗格。

  2. 查询设计器 菜单中,指向 更改类型,然后单击 创建表

  3. “制作表”对话框中,键入目标表的名称。 查询和视图设计器不会检查名称是否已在使用中,或者你是否有权创建表。

    若要在另一个数据库中创建目标表,请指定一个完全限定的表名称,包括目标数据库的名称、所有者(如果需要)和表的名称。

  4. 通过将列添加到查询来指定要复制的列。 有关详细信息,请参阅 向查询添加列。 只有在您将列添加到查询时,才会复制它们。 若要复制整个行,请选择 *(所有列)

    查询和视图设计器将选择的列添加到条件窗格的 列和 列。

  5. 如果要按特定顺序复制行,请指定排序顺序。 有关详细信息,请参阅 排序和分组查询结果

  6. 通过输入搜索条件指定要复制的行。 有关详细信息,请参阅 指定搜索条件

    如果未指定搜索条件,源表中的所有行都将复制到目标表。

    注意

    将列添加到“条件”窗格以用于搜索时,查询和视图设计器还会将其添加到要复制的列列表中。 如果要使用列进行搜索但不复制它,请清除表示表或表结构化对象的矩形中列名旁边的复选框。

  7. 如果要复制摘要信息,请指定“分组依据”选项。 有关详细信息,请参阅 汇总查询结果

执行“创建表”查询时,“结果”窗格中不会显示任何结果。 而是显示一条消息,指示复制了多少行。

另请参阅

设计查询和视图操作主题
[查询类型(../../ssms/visual-db-tools/types-of-queries-visual-database-tools.md)