(数据库引擎) 创建表

适用于: SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (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
    );
    

后续步骤