SQL Sever :Transact-SQL 語句編寫

目錄

 

第 1 課:創建和查詢數據庫對象

創建數據庫

創建表

插入和更新表中的數據 

插入

 更新

從表中讀取數據

 創建視圖和存儲過程

創建視圖

 測試視圖

創建存儲過程

 測試存儲過程

第 2 課:配置數據庫對象的權限

創建登錄名

創建新的 Windows 帳戶

 創建 SQL 登錄名

授予對數據庫的訪問權限 

在數據庫中創建用戶

創建視圖和存儲過程 

授予對存儲過程的權限

第 3 課:刪除數據庫對象

撤銷存儲過程權限

刪除權限

刪除表

刪除數據庫


第 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 帳戶

  1. 單擊“開始”後,單擊“運行”,在“打開”框中,鍵入“%SystemRoot%\system32\compmgmt.msc /s”,再單擊“確定”打開“計算機管理”程序。 
  2. 在“系統工具”下,展開“本地用戶和組”,右鍵單擊“用戶”,再單擊“新建用戶”。 
  3. 在“用戶名”框中,鍵入“Mary”。 
  4. 在“密碼”和“確認密碼”框中,鍵入強密碼,再單擊“創建”創建新的本地 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  

刪除權限

  1. 使用 DROP 語句刪除 Mary 對 TestData 數據庫的訪問權限:
    DROP USER Mary;  
    GO  

     

  2. 使用 DROP 語句刪除 Mary 對此 SQL Server 2005 (9.x)實例的訪問權限:
    DROP LOGIN [<computer_name>\Mary];  
    GO   

     

  3. 使用 DROP 語句刪除存儲過程 pr_Names:
    DROP PROC pr_Names;  
    GO   

     

  4. 使用 DROP 語句刪除視圖 vw_Names:
    DROP VIEW vw_Names;  
    GO  

     

刪除表

  1. 使用 DELETE 語句刪除 Products 表中的所有行數據:
    DELETE FROM Products;  
    GO 

     

  2. 使用 DROP 語句刪除 Products 表:
    DROP TABLE Products;  
    GO  

     

刪除數據庫

正使用 TestData 數據庫時,無法刪除該數據庫;因此,請先切換到其他數據庫,再使用 DROP 語句刪除 TestData 數據庫:

USE MASTER;  
GO  
DROP DATABASE TestData;  
GO   

                   

拜拜
下次再見

                                                                 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章