目錄
第 1 課:創建和查詢數據庫對象
創建數據庫
CREATE DATABASE TestData
GO
1.點擊執行(或者F5),創建數據庫
2.可以選中 CREATE DATABASE ,按 F1 查看CREATE DATABASE詳細語法。
創建表
首先,連接 TestData 數據庫
USE TestData
GO
接着,創建表
CREATE TABLE dbo.Products
(ProductID int PRIMARY KEY NOT NULL,
ProductName varchar(25) NOT NULL,
Price money NULL,
ProductDescription text NULL)
GO
插入和更新表中的數據
插入
INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription)
VALUES (1, 'Clamp', 12.48, 'Workbench clamp')
GO
or (改變順序)
INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription)
VALUES ('Screwdriver', 50, 3.17, 'Flat head')
GO
or (默認順序,不推薦)
-- 爲註釋符(只能註釋一行)
-- Skipping the column list, but keeping the values in order
INSERT dbo.Products
VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.')
GO
插入部分字段(不爲空)
INSERT Products (ProductID, ProductName, Price)
VALUES (3000, '3mm Bracket', .52)
GO
更新
UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
WHERE ProductID = 50
GO
從表中讀取數據
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
GO
or
SELECT * FROM Products
GO
or (選擇部分字段)
SELECT ProductName, Price
FROM dbo.Products
GO
用 where 添加限制條件選擇
SELECT ProductID, ProductName, Price, ProductDescription
FROM dbo.Products
WHERE ProductID < 60
GO
結合數學運算,並通過 AS 進行命名(否則該列將沒有名稱)。
SELECT ProductName, Price * 1.07 AS CustomerPays
FROM dbo.Products
GO
創建視圖和存儲過程
創建視圖
CREATE VIEW vw_Names
AS
SELECT ProductName, Price FROM Products;
GO
測試視圖
SELECT * FROM vw_Names;
GO
創建存儲過程
CREATE PROCEDURE pr_Names @VarPrice money
AS
BEGIN
-- The print statement returns text to the user
PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10));
-- A second statement starts here
SELECT ProductName, Price FROM vw_Names
WHERE Price < @varPrice;
END
GO
測試存儲過程
EXECUTE pr_Names 10.00;
GO
第 2 課:配置數據庫對象的權限
創建登錄名
創建新的 Windows 帳戶
- 單擊“開始”後,單擊“運行”,在“打開”框中,鍵入“%SystemRoot%\system32\compmgmt.msc /s”,再單擊“確定”打開“計算機管理”程序。
- 在“系統工具”下,展開“本地用戶和組”,右鍵單擊“用戶”,再單擊“新建用戶”。
- 在“用戶名”框中,鍵入“Mary”。
- 在“密碼”和“確認密碼”框中,鍵入強密碼,再單擊“創建”創建新的本地 Windows 用戶。
創建 SQL 登錄名
computer_name 替換爲你的計算機名稱
FROM WINDOWS 表示 Windows 對用戶進行身份驗證。
分號作爲 Transact-SQL 語句的可選結束符
CREATE LOGIN [computer_name\Mary]
FROM WINDOWS
WITH DEFAULT_DATABASE = [TestData];
GO
授予對數據庫的訪問權限
現在 Mary 具有訪問此 SQL Server實例的權限,但是不具有訪問數據庫的權限。
若要授予 Mary 訪問權限,請切換到 TestData 數據庫,再使用 CREATE USER 語句將她的登錄名映射到名爲 Mary 的用戶。
在數據庫中創建用戶
computer_name 替換爲你計算機名稱
USE [TestData];
GO
CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO
創建視圖和存儲過程
此時 Mary 不能從 Products 表和 vw_Names 視圖執行 Select,以及執行 pr_Names 過程;若要授予 Mary 必要的權限,請使用 GRANT 語句。
授予對存儲過程的權限
GRANT EXECUTE ON pr_Names TO Mary;
GO
GRANT SELECT ON vw_Names TO Mary
GO
必須具有 EXECUTE 權限才能執行存儲過程。 必須具有 SELECT、INSERT、UPDATE 和 DELETE 權限才能訪問和更改數據。
第 3 課:刪除數據庫對象
在刪除對象之前,請確保使用正確的數據庫:
USE TestData;
GO
撤銷存儲過程權限
使用 REVOKE 語句刪除 Mary 對存儲過程的執行權限:
REVOKE EXECUTE ON pr_Names FROM Mary;
GO
刪除權限
- 使用 DROP 語句刪除 Mary 對 TestData 數據庫的訪問權限:
DROP USER Mary; GO
- 使用 DROP 語句刪除 Mary 對此 SQL Server 2005 (9.x)實例的訪問權限:
DROP LOGIN [<computer_name>\Mary]; GO
- 使用 DROP 語句刪除存儲過程 pr_Names:
DROP PROC pr_Names; GO
- 使用 DROP 語句刪除視圖 vw_Names:
DROP VIEW vw_Names; GO
刪除表
- 使用 DELETE 語句刪除 Products 表中的所有行數據:
DELETE FROM Products; GO
- 使用 DROP 語句刪除 Products 表:
DROP TABLE Products; GO
刪除數據庫
正使用 TestData 數據庫時,無法刪除該數據庫;因此,請先切換到其他數據庫,再使用 DROP 語句刪除 TestData 數據庫:
USE MASTER;
GO
DROP DATABASE TestData;
GO