在本教程中,将学习如何使用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 NULL
和UNIQUE
。 - 第五,表可能在表约束部分中指定了一些约束,例如:
FOREIGN KEY
,PRIMARY KEY
,UNIQUE
和CHECK
。
请注意,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_name
和last_name
列是VARCHAR
类型的字符串列。 这些列最多可以存储50
个字符。visited_at
是DATETIME
数据类型的列,记录客户访问商店的日期和时间。phone
列是一个接受NULL
的VARCHAR
字符串列。store_id
列存储标识客户访问商店的标识号。- 表定义的末尾是
FOREIGN KEY
约束。 此外键确保visit
表的store_id
列中的值必须在stores
表的store_id
列中可用。可在后续教程中了解有关FOREIGN KEY
约束的更多信息。
在本教程中,学习了如何使用SQL Server CREATE TABLE
语句在数据库中创建新表。
上一篇:
SQL Server数据定义
下一篇:
SQL Server修改数据