众所周知,表对于存储和管理数据很有用,它们是行和列的组合。为此,我们必须使用 SQL Server 创建表语句,其基本语法是:
CREATE TABLE [TableName]
(
Column_Name1 Data_Type(Size) [NULL | NOT NULL],
Column_Name2 Data_Type(Size) [NULL | NOT NULL],
…
Column_NameN Data_Type(Size) [NULL | NOT NULL]
);
SQL Server 创建表语法项。
- 表名:如果输入已存在的名称,将抛出错误。
- 列名:表中唯一的列,可为空或不可为空。
- 数据类型:列将持有的有效数据类型。例如:Int、Money、Varchar、Nvarchar 和 Date。
- 大小:Varchar、nvarchar 和 Char 等数据类型需要指定大小。因此,请在此处提供一个有效数字。
- NULL 或 NOT NULL:如果选择 NULL 选项,则该列将接受正常值和 NULL 值。否则,将抛出错误,提示该列不能为空。
SQL 创建表示例
在此示例中,我们在数据库中创建一个新的 Customer 表。
CREATE TABLE [Customer] ( [CustomerKey] [int] NOT NULL, [Name] [varchar](150) NULL, [DateOfBirth] [date] NULL, [EmailAddress] [nvarchar](50) NULL, [Profession] [nvarchar](100) NULL ) GO
命令执行成功,您可以在对象资源管理器中看到新创建的表。
Messages
-------
Command(s) completed successfully.
从上面的 SQL Server 创建表代码中,您可以看到我们声明了 5 列
- 我们的第一列是 CustomerKey,数据类型为 Integer,不允许 NULL 值。
- Name 列属于 Varchar 数据类型,允许 NULL 值。我们还将大小指定为 150,这意味着这两列都将接受最多 150 个字符。
- 第三列是 DateOfBirth,数据类型为 Date,允许 NULL 值。这将只允许我们输入日期值。
- EmailAddress 和 Profession 列属于 NVarchar 数据类型,允许 NULL 值。
注意:在服务器中创建表之前,建议始终检查表是否存在。
让我向您展示对象资源管理器中的新表。请展开“列”文件夹以查看可用列。如果您没有找到它,请单击对象资源管理器中的刷新按钮。
SQL Server 创建带标识列的表
在此示例中,我们创建一个带标识列的表。为此,我们将 Customer Key 列定义为标识列。这将自动生成从 1 开始并递增 1 的数字。(这是可选的,如果您愿意,可以完全删除 IDENTITY (1, 1) 部分)
CREATE TABLE [Customer11] ( [CustomerKey] [int] IDENTITY(1,1) NOT NULL, [FirstName] [varchar](50) NULL, [LastName] [varchar](50) NULL, [BirthDate] [date] NULL, [EmailAddress] [nvarchar](50) NULL, [Yearly Income] [money] NULL, [Profession] [nvarchar](100) NULL ) GO
Messages
-------
Command(s) completed successfully.
查看新创建的表

创建带主键的表
如何创建带主键列的表。我们只需在 Customer key 后添加 PRIMARY KEY 关键字。这将在 Customer key 列上创建一个主键。
CREATE TABLE [Customer111] ( [ID] [int] IDENTITY(1,1) NOT NULL, [CustomerKey] [int] NOT NULL PRIMARY KEY, [FirstName] [varchar](50) NOT NULL , [LastName] [varchar](50) NULL, [BirthDate] [date] NULL, [EmailAddress] [nvarchar](50) NULL, [Yearly Income] [money] NULL, [Profession] [nvarchar](100) NULL ) GO

SQL Server 创建带标识、主键、唯一和检查约束的表
CREATE TABLE 语句有助于创建带标识列、主键约束、唯一键和检查约束列的表。
我建议您参考主键、唯一键、默认约束和检查约束文章。如您所见,
- 姓氏将接受唯一值。
- 如果用户未向“职业”列提供值,则它将“软件开发人员”写入为默认值。
- 检查约束检查年龄值是否在 0 到 100 之间。
CREATE TABLE [Customer11111]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[CustomerKey] [int] NOT NULL PRIMARY KEY,
[FirstName] [varchar](50) NOT NULL ,
[LastName] [varchar](50) NOT NULL UNIQUE,
[Age] [int] NULL,
[EmailAddress] [nvarchar](50) NULL,
[Yearly Income] [money] NULL,
[Profession] [nvarchar](100) NOT NULL DEFAULT ('Software Developer'),
CONSTRAINT CK_Customer11111_Age CHECK([Age] > 0 AND [Age] <= 100)
)
GO
Messages
-------
Command(s) completed successfully.
如果您在对象资源管理器中展开定义,您可以看到所有这些约束。

从另一个表创建表
它提供 Select Into 语句,用于使用现有表以及数据(如果有)来创建表。我们将使用的数据是:

以下查询使用 Employee 定义创建 Customer1111111 表,并插入 Employee 表中存在的所有记录。
SELECT [EmpID], [FirstName], [LastName], [Education] ,[Occupation], [YearlyIncome], [Sales], [HireDate] INTO [dbo].[Customer1111111] FROM [dbo].[Employee]
Messages
-------
(14 row(s) affected)
里面的数据
SELECT [EmpID], [FirstName], [LastName], [Education] ,[Occupation], [YearlyIncome], [Sales], [HireDate] FROM [dbo].[Customer1111111]

在 Management Studio 中创建 SQL 表
在 Management Studio 对象资源管理器中,展开您要创建表的数据库文件夹。请选择该文件夹,右键单击它将打开上下文菜单。选择“新建”选项,然后选择如下所示的选项。

它将打开以下窗口,用于键入列名、数据类型和决定是否允许任何 NULL 值的复选框。如您所见,我们添加了 7 个不同数据类型的列。

使用 Management Studio 添加标识列。
让我向您展示如何使用 SQL Server Management Studio 向已创建的表添加标识列。首先,选择该列,然后转到“列属性”选项卡。请将“标识规范”属性中的“IsIdentity”选项从默认的“否”更改为“是”。

完成后,请单击保存按钮并重命名表名。

单击“确定”完成保存。编写以下 Select 语句,检查表是否包含所有列名。

提示:您可以使用 INSERT 语句或 insert into 将数据插入到新生成的表中。
本地和全局临时表
在这里,我们创建本地和全局临时表。请参阅临时文章。
-- Local Temp CREATE TABLE #LocalTemp ( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](255) NULL, [Occupation] [nvarchar](255) NULL, [Sales] [float] NULL ) GO -- Global Temp CREATE TABLE ##GlobalTemp ( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](255) NULL, [Occupation] [nvarchar](255) NULL, [YearlyIncome] [float] NULL, [Sales] [float] NULL ) GO

评论已关闭。