SQLServer表:读写,轻松搞定

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语句对表中的数据进行读写。

数据库标签