SQL Server CREATE, ALTER, DROP 表格 [T-SQL 示例]
什么是表格?
表格是存储数据的对象,它以行和列的格式存储。下图分别显示了行和列。

如何在 SQL Server 中使用 T-SQL 创建表格
将数据存储到数据库中的第一步是创建一个表格,数据将驻留在其中。创建表格后,我们可以继续向表格中插入行。
我们可以通过以下方式创建表格
- 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) 插入一些数据
到目前为止,表格只存在,但表格中还没有插入任何数据。
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) 单击“执行”运行查询。
结果:使用旧表格的 1 列和四条记录创建了名为COURSE_NAMES的新表格。
SELECT * FROM COURSE_NAMES;
使用表格设计器
我们还可以使用Table Designer从 Studio Management IDE 创建表格。
步骤 1) 右键单击“表格”>“新建”>单击“表格”。
步骤 2) 输入列名、数据类型。选择是否允许 NULL。
步骤 3) 按“CTRL+S”保存表格。输入名称为“Course_Title”
结果:单击“刷新”,我们可以看到名为Course_Title的新表格,其中有一列名为Course_Name。
SQL Server 中的 Alter Table (修改表格)
在 SQL Server 中修改表格有两种方法。
1. T-SQL:通过添加新列修改表格。
2. 使用表格设计器
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的新列。
使用表格设计器
我们也可以使用表格设计器从 UI 修改表格。
步骤 1) 右键单击现有表格>设计。
步骤 2) 添加列名 Course_Start_Date 并选择数据类型。
步骤 3) 按“CTRL+S”保存新添加的列。
结果:在Course_Title表格中,创建了名为Course_Start_Date的新列。
SQL Server 中的 Delete Table (删除表格)
当表格不再需要时,我们将其删除。
在 SQL Server 中删除表格有两种方法。
1. 使用SQL Server Management Studio。
2. T-SQL:删除表格。
使用 SQL Server Management Studio
步骤 1) 右键单击现有表格>删除。表格名称“Course_Title”
步骤 2) 在“删除对象”窗口中,单击“确定”。
结果:“Course_Title”表格已从表格列表中删除。
T-SQL:删除表格
以下是删除表格的语法
语法
DROP TABLE <tableName>;
参数 tableName 是要删除的表格的名称。
查询
DROP TABLE COURSE_NAMES;
步骤 1) 单击执行运行查询。
结果:“Course_Name”表格已从表格列表中删除。
或者,您也可以使用 DELETE TABLE 命令。但是,它只会删除行(数据)。表格结构将保持不变。该命令旨在截断表格,以便以后可以使用。
语法
DELETE TABLE <Table name>;
有趣的事实!
- 我们也可以将 .xml 等大文件作为 BLOB、CLOB 数据类型存储在列中。
- Delete 可以回滚,但 Drop 不能回滚。
摘要
- Delete table 只删除所有行,但表格结构仍然存在。我们可以再次插入新行。
- Drop 将永久删除表格结构,因此我们无法插入新行。