创建表(数据库引擎)

适用于: SQL Server 2016 (13.x) 及更高版本Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW)

可通过使用 SQL Server Management Studio (SSMS) 中的表设计器或 Transact-SQL 创建新表,对该表进行命名,然后将其添加到现有数据库中。

权限

此任务需要在数据库中具有CREATE TABLE 权限,对在其中创建表的架构具有 ALTER 权限。

如果 CREATE TABLE 语句中的任何列被定义为 CLR 用户定义类型,则需要具有对此类型的所有权或 REFERENCES 权限。

如果 CREATE TABLE 语句中的任何列具有与其关联的 XML 架构集合,则需要具有对 XML 架构集合的所有权或 REFERENCES 权限。

使用 SQL Server Management Studio 中的表设计器

  1. 在 SSMS 中的“对象资源管理器”中,连接到包含要修改的数据库的数据库引擎实例。

  2. “对象资源管理器”中,展开 “数据库” 节点,然后展开将包含新表的数据库。

  3. 在对象资源管理器中,右键单击数据库的“表”节点,然后选择“新建表”

  4. 键入列名,选择数据类型,并选择各列是否允许为空值,如下图所示:

    显示为 ModifiedDate 列选择“允许 Null 值”的屏幕截图。

  5. 若要为某个列指定更多属性,例如标识或计算列值,请选择该列,然后在列属性选项卡中,选择适当的属性。 有关列属性的详细信息,请参阅表列属性 (SQL Server Management Studio)

  6. 若要将某个列指定为主键,请右键单击该列,然后选择“设置主键”。 有关详细信息,请参阅 Create Primary Keys

  7. 若要创建外键关系、CHECK 约束或索引,请在“表设计器”窗格中单击右键,然后从列表中选择一个对象,如下图所示:

    显示“关系”选项的屏幕截图。

    有关这些对象的详细信息,请参阅 Create Foreign Key RelationshipsCreate Check ConstraintsIndexes

  8. 默认情况下,该表包含在 dbo 架构中。 要为该表指定不同架构,请在“表设计器”窗格中右键单击,然后选择“属性”,如下图中所示。 从“架构”下拉列表中选择适当的架构。

    显示“架构”选项的“属性”窗格的屏幕截图。

    有关架构的详细信息,请参阅 Create a Database Schema

  9. 从“文件”菜单中,选择“保存”表名称

  10. 在“选择名称”对话框中,为该表键入一个名称,再选择“确定”

  11. 若要查看这个新表,请在 “对象资源管理器”中展开 “表” 节点,然后按 F5 刷新对象列表。 该新表将显示在表列表中。

使用 Transact-SQL

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。

    CREATE TABLE dbo.PurchaseOrderDetail (
        PurchaseOrderID INT NOT NULL,
        LineNumber SMALLINT NOT NULL,
        ProductID INT NULL,
        UnitPrice MONEY NULL,
        OrderQty SMALLINT NULL,
        ReceivedQty FLOAT NULL,
        RejectedQty FLOAT NULL,
        DueDate DATETIME NULL
    );
    

下一步