内容深入探索:SQLServer 中表的所有内容

1. SQLServer 中表的基本概念

在 SQLServer 中,表是构成数据库的基本组成单元,它是一种结构化的数据集合,由行和列组成 。每一列都有一个数据类型,用来限制此列所能存储的数据种类。而每一行则包含了一组相关的数据,每一行都有一个唯一的标识符,称为行标识符,也叫主键或者主键列。

1.1 如何创建表

我们可以使用CREATE TABLE语言来创建一张新表,其中包含了需要的列和相应的数据类型。

CREATE TABLE 表名

(

列名1 数据类型1,

列名2 数据类型2,

列名3 数据类型3,

...

列名n 数据类型n

)

例如,我们需要创建一个名为 "employee" 的表,其中包含了 employee_id(员工号)、name(姓名)、sex(性别)、age(年龄)和department(部门)五个列时,可以使用以下语句来创建:

CREATE TABLE employee

(

employee_id int PRIMARY KEY,

name varchar(100) NOT NULL,

sex char(10) NOT NULL,

age int,

department varchar(100)

)

这条语句告诉数据库创建了一个名为 "employee" 的表,该表包含了五个列。其中,employee_id 是该表的主键列,列的数据类型为整型;name 和 sex 列是 NOT NULL 类型,也就是说这两个列的值不能为空值;age 和 department 列则是可选的。

1.2 如何修改表结构

在建立完表结构之后,您也许需要修改表结构。例如,您可能需要添加一列或删除一列,或者更改列的数据类型等。针对这些情况,在SQLServer中我们可以使用 ALTER TABLE 语句。

1.2.1 添加一列

要添加一列,使用 ALTER TABLE 语句,然后使用 ADD 关键字,并给出要添加列的名称和数据类型。

ALTER TABLE 表名

ADD 列名 数据类型;

例如,对于 employee 表,我们想要添加一个 salary 列:

ALTER TABLE employee

ADD salary DECIMAL(9, 2);

这个语句将在 employee 表中添加了一个 salary 列,该列的数据类型为 DECIMAL ,共 9 位数字,2 位小数。

1.2.2 删除一列

要删除一列,使用 ALTER TABLE 语句,然后使用 DROP COLUMN 关键字,并给出要删除列的名称。

ALTER TABLE 表名

DROP COLUMN 列名;

例如,对于 employee 表,我们想要删除 salary 列:

ALTER TABLE employee

DROP COLUMN salary;

这个语句将在 employee 表中删除了一个 salary 列。

1.2.3 更改列的数据类型

要更改一列的数据类型,使用 ALTER TABLE 语句,然后使用 ALTER COLUMN 关键字,并给出要更改列的名称和新的数据类型。

ALTER TABLE 表名

ALTER COLUMN 列名 数据类型;

例如,对于 employee 表,我们想要将 age 列的数据类型从 int 改为 varchar:

ALTER TABLE employee

ALTER COLUMN age varchar(10);

这个语句将在 employee 表中将 age 列的数据类型从 int 改为 varchar,最大长度为 10 个字符。

2. 如何查询表数据

在 SQLServer 中,使用 SELECT 语句来从表中获取数据。SELECT 语句可以指定要返回的列,可以使用 WHERE 子句限制返回的数据行,还可以支持排序等多种选项。

2.1 查询表中的所有数据

要查询表中的所有数据,可以使用以下语句:

SELECT * FROM 表名;

例如,查询 employee 表的所有数据,可以使用以下语句:

SELECT * FROM employee;

这个语句将返回 employee 表中的所有数据。

2.2 查询表中的部分数据

我们可以使用 SELECT 语句的 WHERE 子句限定返回的数据行。

SELECT * FROM 表名

WHERE 列名 操作符 值;

例如,查询 employee 表中 sex 为 'M' 的数据,可以使用以下语句:

SELECT * FROM employee

WHERE sex = 'M';

这个语句将返回 employee 表中 sex 为 'M' 的所有数据行。

2.3 指定返回的列

我们可以使用 SELECT 语句的列清单(column list)来指定返回的列。

SELECT 列1, 列2, 列3, ... FROM 表名;

例如,查询 employee 表中 name 和 department 两列数据,可以使用以下语句:

SELECT name, department FROM employee;

这个语句将返回 employee 表中 name 和 department 两列数据。

2.4 排序

我们可以使用SELECT语句的ORDER BY子句来排序返回的数据行。

SELECT * FROM 表名

ORDER BY 列名1, 列名2, 列名3, ... ASC | DESC;

例如,查询 employee 表按照 age 和 department 两列数据进行升序排序,可以使用以下语句:

SELECT * FROM employee

ORDER BY age ASC, department ASC;

这个语句将返回 employee 表按照 age 和 department 两列数据进行升序排序的所有数据行。

3. 表的相关操作

3.1 删除表

要删除一张表,可以使用 SQLServer 中的 DROP TABLE 语句。注意:删除表后,表中的所有数据也将被删除。

DROP TABLE 表名;

例如,删除 employee 表:

DROP TABLE employee;

3.2 复制表

要复制一张表,可以使用 SQLServer 中的 SELECT INTO 语句。SELECT INTO 语句同时创建一个新表,并使用 SELECT 语句从原始表中复制数据。

SELECT * INTO 新表名

FROM 原始表名;

例如,复制 employee 表并创建新表 new_employee:

SELECT * INTO new_employee

FROM employee;

3.3 重命名表

要重命名一张表,可以使用 ALTER TABLE 语句,并使用 RENAME TO 关键字。

ALTER TABLE 旧表名

RENAME TO 新表名;

例如,将 employee 表重命名为 newtable:

ALTER TABLE employee

RENAME TO newtable;

4. 总结

SQLServer 中的表是数据库中的基本组成单元。我们可以使用 CREATE TABLE 语句来创建表,并使用 ALTER TABLE 语句来修改表的结构。要查询表中的数据,我们可以使用 SELECT 语句,可以指定返回的列、限制返回的数据行、排序等多种选项。要删除、复制或重命名表,我们可以使用 DROP TABLE 、SELECT INTO 和 ALTER TABLE 语句。

数据库标签