1. 概述
SQL Server是一款关系型数据库管理系统,提供结构化方式进行数据存储、检索和管理。在SQL Server中,数据以表(table)的形式进行存储,每个表包含一个或多个列(column)和零个或多个行(row)。在本文中,我们将介绍如何创建、读取和写入SQL Server表。
2. 创建表
2.1 创建基本表
在SQL Server中,使用CREATE TABLE
语句创建表。例如,以下语句创建一个名为employees
的表:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
last_name VARCHAR(50),
first_name VARCHAR(50),
hire_date DATE
);
该语句创建了一个包含四个列的表,分别对应雇员的ID、姓、名和入职日期。
重点:PRIMARY KEY
关键字指示employee_id
列是表的主键,它将唯一标识每个雇员。
2.2 创建约束
在创建表时,您可以指定约束来强制实施数据完整性。例如,以下语句在employees
表上创建了一个检查约束,确保雇员的年龄不小于18岁:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
last_name VARCHAR(50),
first_name VARCHAR(50),
hire_date DATE,
date_of_birth DATE CHECK (DATEDIFF(YEAR, date_of_birth, GETDATE()) >= 18)
);
重点:CHECK
约束检查date_of_birth
列的值是否满足指定的条件。在此示例中,该条件检查雇员的出生日期是否至少在18年前。
2.3 创建索引
索引是一种用于加速数据检索的数据结构。在SQL Server中,使用CREATE INDEX
语句创建索引。例如,以下语句在employees
表上创建了一个名为idx_last_name
的索引,用于加速按姓氏检索:
CREATE INDEX idx_last_name ON employees (last_name);
重点:本示例中,创建了一个简单的索引,其只包含一个列。您还可以创建复合索引,其包含两个或多个列,以更快地检索具有复杂查询条件的数据。
3. 读取表数据
3.1 SELECT语句
使用SELECT
语句从表中检索数据。例如,以下语句检索employees
表中的所有数据:
SELECT * FROM employees;
重点:星号*
表示所有列。您还可以指定要检索的具体列,如以下示例:
SELECT last_name, first_name FROM employees;
此语句只检索姓和名列。
3.2 过滤数据
通过WHERE
子句来过滤检索的数据。例如,以下语句检索入职日期在2010年之前的所有雇员:
SELECT * FROM employees WHERE hire_date < '2010-01-01';
重点:本示例中,使用了小于运算符<
来过滤入职日期早于2010年1月1日的数据。
3.3 排序数据
使用ORDER BY
子句按一个或多个列对检索的数据进行排序。例如,以下语句按姓氏升序对employees
表中的数据进行排序:
SELECT last_name, first_name FROM employees ORDER BY last_name ASC;
重点:本示例中,使用了升序排序标识符ASC
,该标识符是可选的,默认情况下将升序排序。
4. 写入表数据
4.1 INSERT语句
使用INSERT INTO
语句将数据添加到表中。例如,以下语句将一行数据插入employees
表中:
INSERT INTO employees (employee_id, last_name, first_name, hire_date)
VALUES (1, 'Smith', 'John', '2005-01-01');
重点:本示例中,指定了要插入的列和值。
4.2 UPDATE语句
使用UPDATE
语句修改表中的数据。例如,以下语句将雇员ID为1的姓氏从"Smith"修改为"Jones":
UPDATE employees SET last_name = 'Jones' WHERE employee_id = 1;
重点:本示例中,使用了WHERE
子句来指定要修改的行。
4.3 DELETE语句
使用DELETE FROM
语句从表中删除数据。例如,以下语句删除employees
表中姓氏为"Jones"的所有行:
DELETE FROM employees WHERE last_name = 'Jones';
重点:本示例中,使用了WHERE
子句来指定要删除的行。
5. 总结
SQL Server提供了创建、读取和写入表的各种工具和语法。使用这些工具和语法,您可以轻松地创建和管理数据表,并使用SQL语句对表中的数据进行读写。