Microsoft SQL Server

Microsoft SQL Server 下載

Microsoft SQL Server 是一款由 Microsoft 提供的關聯式數據庫管理系統(RDBMS),廣泛用於企業級數據存儲、查詢和處理。SQL Server 支持 Transact-SQL (T-SQL),並提供強大的數據管理和查詢功能。

以下是 Microsoft SQL Server 教學,幫助你從安裝到基本使用。


?‍? 一、安裝 SQL Server

1️⃣ 安裝 SQL Server

  1. 訪問 Microsoft SQL Server 下載頁面 下載 SQL Server 的版本。你可以選擇免費的 SQL Server Express 版本,或者其他專業版和企業版。
  2. 選擇下載並運行安裝包。在安裝過程中,可以選擇不同的功能(例如 SQL Server Database Engine, SQL Server Management Studio)。
  3. 安裝過程
    • 下載後,運行安裝向導,並根據提示選擇安裝選項。
    • 設置 SQL Server 管理員帳戶和密碼。
    • 完成安裝並重啟電腦(如有需要)。

2️⃣ 安裝 SQL Server Management Studio (SSMS)

SQL Server Management Studio 是用於管理 SQL Server 實例的工具。你可以從 SSMS 下載頁面 下載安裝。

安裝完成後,啟動 SSMS 並連接到 SQL Server 實例。


? 二、基礎概念

  1. 數據庫(Database):一個存儲結構化數據的容器。每個 SQL Server 實例可以包含多個數據庫。
  2. 表(Table):數據庫中的數據以表格的形式存儲。每張表由行和列組成。
  3. 行(Row):表中的一條記錄。
  4. 列(Column):表中的一個屬性或字段。
  5. 索引(Index):提高查詢性能的結構,類似於書籍的目錄。
  6. 約束(Constraint):定義數據完整性規則的限制,例如主鍵、外鍵、唯一性約束等。

?‍? 三、基本操作

1️⃣ 創建數據庫

在 SSMS 中連接到 SQL Server 實例後,你可以通過以下 SQL 命令創建一個新的數據庫:

CREATE DATABASE SampleDB;
GO

這將創建一個名為 SampleDB 的新數據庫。

2️⃣ 創建表

在數據庫中創建表是存儲數據的基本步驟。以下是創建表的基本 SQL 命令:

USE SampleDB;  -- 選擇數據庫
GO

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,  -- 主鍵
    FirstName NVARCHAR(50),
    LastName NVARCHAR(50),
    HireDate DATETIME,
    Salary DECIMAL(18, 2)
);
GO

這段代碼將創建一個 Employees 表,其中包含員工的 ID、名字、姓氏、雇佣日期和薪資。

3️⃣ 插入數據

使用 INSERT 語句將數據插入表中:

INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate, Salary)
VALUES (1, 'John', 'Doe', '2020-01-15', 60000.00);
GO

INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate, Salary)
VALUES (2, 'Jane', 'Smith', '2021-03-22', 65000.00);
GO

這會將兩條員工數據插入 Employees 表中。

4️⃣ 查詢數據

使用 SELECT 語句查詢數據:

SELECT * FROM Employees;
GO

這會選擇 Employees 表中的所有行和列。如果你只需要某些列或帶有條件的查詢,可以使用 WHERE 子句:

SELECT FirstName, LastName FROM Employees WHERE Salary > 60000;
GO

這將選擇所有薪資大於 60000 的員工的名字和姓氏。

5️⃣ 更新數據

使用 UPDATE 語句修改表中的數據:

UPDATE Employees
SET Salary = 70000
WHERE EmployeeID = 1;
GO

這會將 EmployeeID 為 1 的員工的薪資更新為 70000。

6️⃣ 刪除數據

使用 DELETE 語句刪除表中的數據:

DELETE FROM Employees WHERE EmployeeID = 2;
GO

這會刪除 EmployeeID 為 2 的員工。


? 四、高級功能

1️⃣ 索引(Indexes)

索引能夠顯著提高查詢性能,尤其是在大型表中。以下是創建索引的語句:

CREATE INDEX idx_lastname
ON Employees (LastName);
GO

這會在 LastName 列上創建索引。

2️⃣ 視圖(Views)

視圖是從一個或多個表中檢索數據的虛擬表。它通常用於簡化複雜查詢。

CREATE VIEW EmployeeView AS
SELECT FirstName, LastName, Salary
FROM Employees
WHERE Salary > 60000;
GO

這創建了一個名為 EmployeeView 的視圖,顯示所有薪資大於 60000 的員工的名字、姓氏和薪資。

3️⃣ 存儲過程(Stored Procedures)

存儲過程是一組 SQL 語句的集合,它們保存在數據庫中,可以重複執行。以下是創建簡單存儲過程的例子:

CREATE PROCEDURE GetEmployeeInfo (@EmployeeID INT)
AS
BEGIN
    SELECT FirstName, LastName, Salary
    FROM Employees
    WHERE EmployeeID = @EmployeeID;
END;
GO

要執行這個存儲過程,可以使用:

EXEC GetEmployeeInfo @EmployeeID = 1;
GO

4️⃣ 觸發器(Triggers)

觸發器是一種特殊的存儲過程,它在表中進行插入、更新或刪除操作時自動執行。以下是一個簡單的觸發器範例:

CREATE TRIGGER SalaryCheck
ON Employees
AFTER INSERT
AS
BEGIN
    DECLARE @Salary DECIMAL(18,2);
    SELECT @Salary = Salary FROM inserted;
    
    IF @Salary < 50000
    BEGIN
        PRINT 'Warning: Salary is below the minimum threshold';
    END
END;
GO

這個觸發器會在向 Employees 表插入數據時檢查薪資是否低於 50000,如果低於此值則發出警告。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *