SQL Server 创建、更改、删除表 [T-SQL 示例]
⚡ 智能摘要
SQL Server 表以行和列的形式存储数据。Transact-SQL 使用 CREATE TABLE 语句创建表,使用 ALTER TABLE 语句添加或更改列,以及使用 DROP TABLE 语句删除表、其数据及其结构。

什么是表?
表格是对象 SQL服务器 它以行列格式存储数据。下图分别显示了行和列。
如何使用 T-SQL 在 SQL Server 中创建表
存储数据的第一步是在数据库中创建表格。 数据库 数据将存储在此处。创建表后,您可以继续向其中插入行。
您可以通过以下方式创建表格:
- T-SQL:通过定义所有列及其数据类型来创建一个新表。
- T-SQL:使用现有表创建新表。
- 使用表格设计器。
让我们详细研究一下。
T-SQL:通过定义所有列及其数据类型来创建新表
以下是创建 SQL Server 表的语法。
语法:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
在这里,
- 参数tableName表示您要创建的表的名称。
- 参数column_1、column_2…表示要添加到表中的列。
- 列的值必须指定为 NULL 或 NOT NULL。如果未指定,SQL Server 默认使用 NULL。
让我们创建一个包含两列的基本表格。
查询:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
前提课程: 选择需要创建表的数据库。
步骤1) 点击“执行”按钮运行查询。运行查询之前,该表不存在,如下所示。
运行查询后,单击“刷新”按钮;现在已生成名为“Course”的新表,如下所示。
步骤2) 插入一些数据。以下屏幕截图显示了新建的 Course 表,该表已准备好接收数据行。
目前该表已存在,但其中还没有任何数据。
Transact-SQL 提供了 INSERT 语句,用于向表中插入数据。使用此语句,您可以向表中插入一行或多行数据。
语法:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
上面的语法显示了使用 VALUES 关键字向表中插入数据时命令的基本形式。
让我们使用 INSERT 命令插入四行数据。
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
下图显示插入四行数据已成功。
步骤3) 使用 SELECT 语句查看数据。要在 SQL Server 中查看数据,请使用以下语法:
SELECT expression FROM tableName [WHERE condition];
查询示例:
SELECT * FROM COURSE;
表格已创建,目前包含四条记录。请注意,您可以在任何列中创建具有重复值的记录,因为没有限制。 约束.
T-SQL:使用现有表创建新表
假设您想要创建另一个类似于上面创建的 COURSE 表的表,但您只需要 Course_Name 列而不需要 Course_ID 列。
语法:
SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;
查询示例:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
步骤1) 点击“执行”按钮运行查询。系统将创建一个名为 COURSE_NAMES 的新表,该表包含一列和四条从旧表复制的记录,如下所示。
查询示例:
SELECT * FROM COURSE_NAMES;
下面的结果列出了新 COURSE_NAMES 表中的四个 Course_Name 记录。
使用表设计器
您还可以从中创建表格 SQL Server Management Studio中 使用表格设计器的IDE。
步骤1) 右键单击“表格”>“新建”>“表格”,如下图所示。
步骤2) 输入列名和 数据类型并选择每一列是否允许空值。
步骤3) 按 CTRL+S 保存表格,并将名称输入为 Course_Title。
点击刷新后,会出现一个名为 Course_Title 的新表格,其中包含一个名为 Course_Name 的列,如下所示。
在 SQL Server 中修改表
在 SQL Server 中,有两种方法可以修改表:
- T-SQL:通过添加新列来修改表。
- 使用表格设计器。
T-SQL:通过插入列来更改表
以下是 SQL 中 ALTER 命令的语法:
语法:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
查询:
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
步骤1) 点击“执行”按钮运行查询。现在,Course_Title 表中新增了一个名为 Course_Duration 的列,如下所示。
使用表设计器
您还可以使用表格设计器从用户界面修改表格。
步骤1) 右键单击现有表格 > 设计,如下图所示。
步骤2) 添加列名 Course_Start_Date 并选择其数据类型。
步骤3) 按 CTRL+S 保存新添加的列。如下所示,Course_Title 表中将创建一个名为 Course_Start_Date 的新列。
在 SQL Server 中删除表
当不再需要某个表时,就将其删除。
在 SQL Server 中删除表有两种方法:
- 使用 SQL Server Management Studio。
- T-SQL:使用 DROP TABLE 删除表。
使用 SQL Server Management Studio
步骤1) 右键单击现有表格 > 删除,选择名为 Course_Title 的表格,如下图所示。
步骤2) 在“删除对象”窗口中,单击“确定”。
如下所示,Course_Title 表已从表列表中删除。
T-SQL:删除表
以下是删除表的语法。
语法:
DROP TABLE <tableName>;
参数tableName是要删除的表的名称。
查询:
DROP TABLE COURSE_NAMES;
步骤1) 点击“执行”按钮运行查询。如下所示,COURSE_NAMES 表将从表列表中删除。
或者,源代码显示了一个 DELETE TABLE 命令,该命令旨在仅删除行(数据),同时保持表结构完整,以便以后可以重新使用该表。
语法:
DELETE TABLE <Table name>;
注意: 在标准 T-SQL 中,使用以下命令删除行: DELETE FROM <table>餐桌很快就被清空了。 TRUNCATE TABLE <table>如上所示,使用 DROP TABLE 删除整个表。
有趣的事实!
- 可以使用 VARBINARY(MAX)、VARCHAR(MAX) 或 XML 类型等大型对象数据类型将 XML 或图像等大型文件存储在列中(SQL Server 不使用 XML 类型)。 Oracle-样式 BLOB 和 CLOB 名称)。
- DELETE 仅删除行,并且可以在事务中回滚,而 DROP 删除整个表结构;在 SQL Server 中,即使是 DROP,当它在显式事务中运行时也可以回滚。
























