一、基本概念
MSSQL Server,全称为 Microsoft SQL Server,是一种由 Microsoft Corporation 开发的关系型数据库管理系统。依照数据管理的不同,其被广泛应用于联机事务处理(OLTP)和数据仓库(DWH)等场景。
与 Oracle 数据库、IBM DB2、PostgreSQL 等其他关系型数据库管理系统相比,MSSQL Server 建立在 Windows 平台之上,更易于安装和部署。
MSSQL Server 的架构包括多个组件,包括但不限于 SQL Server 数据库引擎、SQL Server Analysis Services(数据分析服务)、SQL Server Integration Services(数据集成服务)等组件。其中数据库引擎是 MSSQL Server 的核心所在,可以用来进行数据操作,以及为应用程序提供数据存储支持。
二、基本操作
1. 创建数据库
CREATE DATABASE MyDB; GO
使用 CREATE DATABASE 语句创建一个名为 MyDB 的数据库。
2. 创建表
USE MyDB; CREATE TABLE Employees ( ID INT PRIMARY KEY, Name VARCHAR(50), Age INT ); GO
使用 CREATE TABLE 语句在 MyDB 数据库中创建一个名为 Employees 的表,其中包含 ID、Name、Age 列。
3. 插入数据
INSERT INTO Employees(ID, Name, Age) VALUES(1, 'Tom', 25); INSERT INTO Employees(ID, Name, Age) VALUES(2, 'Jack', 30); INSERT INTO Employees(ID, Name, Age) VALUES(3, 'Mary', 27); GO
使用 INSERT INTO 语句向 Employees 表中插入三条记录。
4. 查询数据
SELECT * FROM Employees; GO
使用 SELECT 语句查询 Employees 表中的所有记录。
5. 更新数据
UPDATE Employees SET Age = 28 WHERE Name = 'Mary'; GO
使用 UPDATE 语句更新 Employees 表中 Name 为 'Mary' 的记录的 Age 属性。
6. 删除数据
DELETE FROM Employees WHERE ID = 2; GO
使用 DELETE FROM 语句删除 Employees 表中 ID 为 2 的记录。
三、高级操作
1. 索引
索引是一种提高数据检索效率的技术,可以加速数据的查找过程。在 MSSQL Server 中,可以使用 CREATE INDEX 语句创建索引。
CREATE INDEX emp_index ON Employees(Name); GO
使用 CREATE INDEX 语句在 Employees 表的 Name 列上创建索引。
2. 触发器
触发器是一种用来响应数据变化的代码段,可以用于数据验证、日志记录等操作。在 MSSQL Server 中,可以使用 CREATE TRIGGER 语句创建触发器。
CREATE TRIGGER emp_trigger ON Employees FOR INSERT, UPDATE, DELETE AS BEGIN PRINT 'Employees table has been changed.' END; GO
使用 CREATE TRIGGER 语句在 Employees 表上创建触发器,以检测当表中有数据新增、更新、删除时进行相应的操作。
3. 存储过程
存储过程是一种事先编写好的代码块,可以用于执行特定的 SQL 操作,或提供特定的功能接口。在 MSSQL Server 中,可以使用 CREATE PROCEDURE 语句创建存储过程。
CREATE PROCEDURE get_employee @id INT AS BEGIN SELECT * FROM Employees WHERE ID = @id; END; GO
使用 CREATE PROCEDURE 语句创建一个名为 get_employee 的存储过程,以返回 Employees 表中 ID 为输入参数的员工信息。
4. 视图
视图是一种虚拟的表格,可以从一个或多个基础表获取数据,并可对其进行查询、修改等操作。在 MSSQL Server 中,可以使用 CREATE VIEW 语句创建视图。
CREATE VIEW emp_view AS SELECT ID, Name FROM Employees; GO
使用 CREATE VIEW 语句创建一个名为 emp_view 的视图,以由 Employees 表中 ID、Name 列构成。