Azure Data Studio 中的表设计器

适用范围:SQL Server Azure SQL 数据库 Azure SQL 托管实例

Azure Data Studio 中的表设计器在为 SQL Server 数据库创建和编辑表结构(包括特定于表的编程对象)时,提供了与 Transact-SQL 编辑器相同的可视化编辑器体验。

为什么使用表设计器?

Azure Data Studio 中的表设计器为用户提供了一种直接在图形用户界面 (GUI) 上配置和管理数据库表、主键和外键、索引和约束的简便方法,无需编写 Transact-SQL 语句。

表设计器概述

表设计器由一个拆分为三个单独窗格的窗口组成。 第一个窗格是表设计的概览/常规窗格。 这包括用于列的选项卡、主键和外键、约束检查、索引和常规选项卡。第二个窗格用于定义表的属性。 最后,第三个窗格是只读 T-SQL 脚本的脚本窗格,它实时显示对表设计器 GUI 执行的操作以及对表设计器执行的操作相关的所有成功或错误消息。 可以通过拖动鼠标来根据偏好调整这些窗格的大小。

该屏幕截图显示了表设计器,其中显示了三个不同窗格。

使用表设计器创建和更新数据库表

需要激活数据库所在的 SQL Server 连接才能创建表。 这由对象资源管理器中服务器连接图标右下角的绿色点表示(如下)。 如果为红色(这意味着连接处于非活动状态),请在对象资源管理器中选择服务器连接名称以激活连接。 有关连接到 SQL Server 的教程,请查看使用 Azure Data Studio 连接和查询 SQL Server 教程一文。

本文要求使用 AdventureWorks2022 示例数据库,你可从 Microsoft SQL Server 示例和社区项目主页下载。

创建表

  1. 右键单击 AdventureWorks2022 数据库下拉列表中的“Tables”文件夹,然后选择“新建表”

    该屏幕截图显示了表设计器,其中显示了如何遍历对象资源管理器来创建新表。

  2. 将“表名称”字段中的值从其默认值 NewTable 更改为 City。 在“表属性”字段中,可随意为此表添加描述。

  3. 在“名称”列网格中,将提供的默认值 column_1 更改为 ID。 选择“主键”列中的复选框,将其设置为表的主键。 若要详细了解主键,请参阅此有关主键的 SQL Server 文档

    表设计器的屏幕截图,其中显示了如何编辑表名称和如何添加显示主键标识符的列。还显示了从表设计器生成的 T-SQL 脚本。

  4. 重复步骤 3,添加两个新列 CityName 和 Population。 取消选中这两个新列的“主键”和“允许 Null”复选框。 请注意,通过将光标放在“移动”列中并拖动鼠标,可以根据用户偏好对“列”进行重新排列。

    备注

    请注意在对默认表进行更改时生成的只读 Transact-SQL 代码的更改。

  5. 完成新表的设计后,需将此更改发布到 AdventureWorks2022 数据库。 为此,请选择如下所示的“发布”图标。 也可以通过在本地设备上使用 save 命令快捷方式来完成发布。

    该屏幕截图显示了突出显示发布图标的表设计器。

    选择此图标后,将看到一个预览对话框窗口,其中显示创建表时执行的所有操作。 它还提供了将更改直接发布到 AdventureWorks2022 数据库或在查询编辑器中生成可编辑 SQL 脚本的选项,可将该脚本在本地保存为文件,也可执行该脚本并发布到数据库。

    该屏幕截图显示了表设计器,其中显示了“保存”对话框。

    通过选择“运行”按钮在查询编辑器中运行 T-SQL 脚本,如下所示:

    表设计器的屏幕截图,其中显示了如何使用 SQL CMD 选项在查询编辑器中发布对数据库的更改。

    确保查询编辑器已连接到要运行脚本的数据库。 可以通过在查询编辑器窗口中选择“连接”按钮来完成该操作。 这将打开连接对话框,可在其中输入运行数据库脚本的服务器的凭据。

    备注

    请注意,可以通过编辑 T-SQL 脚本在查询编辑器中手动更改表设计。 若要成功执行 Transact-SQL 脚本,必须启用 SQLCMD 模式。 切换此按钮完成该操作,如上图所示(已启用,因此显示“禁用 SQLCMD”)。 有关这方面的详细信息,请参阅 SQLCMD 实用工具文档

  6. 请记住保存对表设计器所进行的更改。 未保存的更改以黑色阴影点表示,如下所示:

    表设计器的屏幕截图,其中显示了未保存的工作,以黑点表示。

    下图显示已保存的工作,以无黑点表示。

    表设计器的屏幕截图,其中显示了已保存的工作,以无黑点表示。

    备注

    请注意发布对话框中的任何警告,因为它与表创建和迁移有关。 这些警告旨在防止潜在的数据丢失或系统停机,特别是处理大型数据集时。

  7. 发布表后,右键单击 Tables* 文件夹并选择“刷新”。 这将在该文件夹中重新填充新表。

    该屏幕截图显示了表设计器,其中显示如何刷新表。

编辑现有表

要在表设计器中编辑现有表,请右键单击对象资源管理器中的表并从菜单中选择“设计”。 这会打开表设计器视图,然后,你可以根据需要进行编辑。 请参见下图:

该屏幕截图显示了表设计器,其中显示如何编辑现有表。

可在主窗格中(如上所示)或在属性窗格中更改列属性。 若要查看列的属性窗格,请选择列(如 CityName),如下所示。 然后,属性窗格将显示特定于 CityName 列的属性。 请记住保存并发布你的更改。

该屏幕截图显示了表设计器,其中显示如何使用“列属性”窗格更改列属性。

删除表

若要删除表,请右键单击对象资源管理器中的 tables 文件夹。 找到表后,右键单击该表并选择“撰写为 Drop 的脚本”。 然后,这将打开查询编辑器窗口,其中包含在运行时将删除表的脚本。 选择“运行”以删除表。

该屏幕截图显示了表设计器,其中显示如何删除表。

CHECK 约束

检查约束用于限制列中可确定的值范围。 如果在列上定义检查约束,则它将只允许该列的某些值。 在此示例中,我们将介绍如何向 Population 列添加检查约束,以禁止小于 0 的条目。

  1. 在 City 表中,选择“检查约束”选项卡并选择“+新建检查约束”

  2. 这会填充一个表,你可在其中为要添加的约束定义“名称”和“表达式”。 提供了默认名称和表达式。 在“名称”字段中,清除此默认名称并键入 Population。 在“表达式”字段中,清除默认表达式并键入表达式 [Population]>=(0)。 请记住将此检查约束发布到数据库。

    表设计器的屏幕截图,其中显示了如何添加检查约束。

可以根据需要添加尽可能少或尽可能多的约束,具体取决于数据库中表的性质。 有关检查约束的详细信息,请参阅检查约束文档

备注

请记住在表级别刷新对象资源管理器以确认表删除。

Foreign Keys

外键用于建立和强制实施表中数据之间的链接。 有关外键的详细信息,请查看此主键和外键约束相关文档。在此示例中,我们将再创建一个名为 PersonProfile 的表,并使用外键将该表映射到 City 表

  1. 创建一个名为 PersonProfile 的表,其中包含三个列,即 ID(int, primary key)、Name(nvarchar(50)) 和 Age(int)。 设置“名称”和“时期”列,使其不可为 null。

    表设计器的屏幕截图,其中显示了如何创建用于建立外键的表。

  2. 选择“外键”选项卡并选择“+新建外键”。 由于使用其 ID 将 PersonProfile 表映射到 City 表,因此选择“外键”下拉列表并选择 dbo.City。 接下来,在“外键属性”窗口中的“+新建列映射”下,选择“外键”下拉列表,然后选择“ID”。 这是 City 表的 ID。 请牢记发布到数据库。

    表设计器的屏幕截图,其中显示了如何创建外键设置。

后续步骤