SQL Server创建表

在本教程中,将学习如何使用SQL Server CREATE TABLE语句来创建新表。

CREATE TABLE语句简介

表用于在数据库中存储数据。 表在数据库和模式中唯一命名。 每个表包含一个或多个列。 每列都有一个相关的数据类型,用于定义它可以存储的数据类型,例如:数字,字符串和日期。

要创建新表,请使用CREATE TABLE语句,如下所示:

CREATE TABLE [database_name.][schema_name.]table_name (
    pk_column data_type PRIMARY KEY,
    column_1 data_type NOT NULL,
    column_2 data_type,
    ...,
    table_constraints
);

在上面的语法中,

  • 首先,指定创建表的数据库的名称。 database_name必须是现有数据库的名称。 如果未指定,则database_name默认为当前数据库。
  • 其次,schema_name指定新表所属的模式。
  • 第三,table_name指定新表的名称。
  • 第四,每个表应该有一个由一列或多列组成的主键。 通常,首先列出主键列,然后列出其他列。 如果主键只包含一列,则可以在列名后使用PRIMARY KEY关键字。 如果主键由两列或更多列组成,则需要将PRIMARY KEY约束指定为表约束。 每个列都在语句中的名称后面指定了关联的数据类型。 列可能具有一个或多个列约束,例如:NOT NULLUNIQUE
  • 第五,表可能在表约束部分中指定了一些约束,例如:FOREIGN KEYPRIMARY KEYUNIQUECHECK

请注意,CREATE TABLE可以很复杂,并且具有比上述语法更多的选项。 我们将在后续教程中逐步的介绍每个选项。

SQL Server CREATE TABLE示例

以下语句创建一个名为visits的新表来跟踪客户的店内访问:

CREATE TABLE sales.visits (
    visit_id INT PRIMARY KEY IDENTITY (1, 1),
    first_name VARCHAR (50) NOT NULL,
    last_name VARCHAR (50) NOT NULL,
    visited_at DATETIME,
    phone VARCHAR(20),
    store_id INT NOT NULL,
    FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);

在这个示例中:

因为没有明确指定创建表的数据库名称,所以在bb_stores数据库中创建了visits表。 但是已经明确指定模式,因此,在sales模式中创建了visits表。

visits表中定义了6列,下面来看每一列的简介描述:

  • visit_id列是表的主键列。 IDENTITY(1,1)指示SQL Server自动生成从1开始的列的整数,并为每个新行递增1
  • first_namelast_name列是VARCHAR类型的字符串列。 这些列最多可以存储50个字符。
  • visited_atDATETIME数据类型的列,记录客户访问商店的日期和时间。
  • phone列是一个接受NULLVARCHAR字符串列。
  • store_id列存储标识客户访问商店的标识号。
  • 表定义的末尾是FOREIGN KEY约束。 此外键确保visit表的store_id列中的值必须在stores表的store_id列中可用。可在后续教程中了解有关FOREIGN KEY约束的更多信息。

在本教程中,学习了如何使用SQL Server CREATE TABLE语句在数据库中创建新表。


上一篇: SQL Server数据定义 下一篇: SQL Server修改数据