sql授權命令grant


       因個人對數據庫授權命令的喜愛,所以寫了這篇文章,一來學會命令的使用,

二來為以后復習之用。

---------------------------------------------------------------------------------------------------------------------

1)授權命令 grant,語法格式(SQL語句不區分大小寫):
Grant  <權限>  on  表名[(列名)]  to  用戶 With  grant  option

或 GRANT <權限> ON <數據對象> FROM <數據庫用戶>  

//數據對象可以是表名或列名

//權限表示對表的操作,如select,update,insert,delete
 
注:授權命令是由數據庫管理員使用的,若給用戶分配權限時帶With  grant  option子句,

則普通用戶獲權后,可把自己的權限授予其他用戶。

Grant單詞翻譯:
vt.承認;同意;准許;授予
n.撥款;補助金;授給物(如財產、授地、專有權、補助、撥款等)
vi.同意

2)回收權限 revoke
REVOKE <權限> ON <數據對象>  FROM <數據庫用戶名>

revoke翻譯:
vt.撤銷,取消;廢除 vi.有牌不跟 n.有牌不跟

 實戰:

因機房裝的是SQL2000,因此我測試時使用的是SQL2000

1) 首先我在服務器(local)上添加了一個用戶user1,並將其添加了數據庫student,

其擁有的權限為public(public為最小權限),截圖如下:

 數據庫student中的表如下圖所示,其中有一張表為student(下圖第四個)

 當我們沒有給用戶 user1分配查詢(select)權限時,在查詢分析器中用user1登陸數據庫student,

其連最基本的查詢操作都不能執行,截圖如下:

 

下面我們用授權命令grant給user1添加查詢的權限(注意要用管理員賬戶才能執行以下命令)

截圖如下:

 

 

 

   

 

將查詢操作授權給user1后,用user1再次執行select命令,發現已經可以查詢數據了,

截圖如下:

當我們想除去用戶user1的查詢操作時,執行以下命令即可

//回收用戶user1對表student的查詢權限
revoke select on student from user1
//或 revoke select on student from user1 cascade

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM