Ⅰ 增加用戶與分配許可權,sql語句怎麼寫
增加用戶
-------------------------------------------------------------------------
USE master
GO
sp_addlogin @loginame = 'TempWorker', @password = 'fff', defdb = 'sales'
GO
USE sales
GO
sp_grantdbaccess 'TempWorker'
GO
許可權
-------------------------------------------------------------------------------------
GRANT
在安全系統中創建項目,使當前資料庫中的用戶得以處理當前資料庫中的數據或執行特定的 Transact-SQL 語句。
語法
語句許可權:
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
對象許可權:
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procere | extended_procere }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]
示例
A. 授予語句許可權
下面的示例給用戶 Mary 和 John 以及 Windows NT 組 Corporate\BobJ 授予多個語句許可權。
GRANT CREATE DATABASE, CREATE TABLE
TO Mary, John, [Corporate\BobJ]
B. 在許可權層次中授予對象許可權
下例顯示許可權的優先順序。首先,給 public 角色授予 SELECT 許可權。然後,將特定的許可權授予用戶 Mary、John 和 Tom。於是這些用戶就有了對 authors 表的所有許可權。
USE pubs
GO
GRANT SELECT
ON authors
TO public
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO
C. 給 SQL Server 角色授予許可權
下面的示例將 CREATE TABLE 許可權授予 Accounting 角色的所有成員。
GRANT CREATE TABLE TO Accounting
D. 用 AS 選項授予許可權
用戶 Jean 擁有表 Plan_Data。Jean 將表 Plan_Data 的 SELECT 許可權授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用戶 Jill 是 Accounting 的成員,他要將表 Plan_Data 上的 SELECT 許可權授予用戶 Jack,Jack 不是 Accounting 的成員。
因為對表 Plan_Data 用 GRANT 語句授予其他用戶 SELECT 許可權的許可權是授予 Accounting 角色而不是顯式地授予 Jill,不能因為已授予 Accounting 角色中成員該許可權,而使 Jill 能夠授予表的許可權。Jill 必須用 AS 子句來獲得 Accounting 角色的授予許可權。
/* User Jean */
GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION
/* User Jill */
GRANT SELECT ON Plan_Data TO Jack AS Accounting
Ⅱ sql server 賬號許可權處更新與更改的區別
角色是一個強大的工具,使您得以將用戶集中到一個單元中,然後對該單元應用許可權。對一個角色授予、拒絕或廢除的許可權也適用於該角色的任何成員。可以建立一個角色來代表單位中一類工作人員所執行的工作,然後給這個角色授予適當的許可權。當工作人員開始工作時,只須將他們添加為該角色成員,當他們離開工作時,將他們從該角色中刪除。而不必在每個人接受或離開工作時,反復授予、拒絕和廢除其許可權。許可權在用戶成為角色成員時自動生效。
Ⅲ 資料庫SQL語句
代碼如下
--------------------------------
GRANT select,update on Course to 張三 with GRANT OPTION
----------------------------
其中 with GRANT OPTION 指許可權轉給其他人的能力,如果不讓張三有這權力可取消此句
Ⅳ 怎樣使用sql語句賦與用戶"usr" 更新和插入表」sale「的許可權
運用C#語言 譬如inset user "語句部分" 許可權的話在屬性里邊
Ⅳ 修改用戶的角色和許可權怎麼寫sql語句
--把角色賦予指定賬戶grant role_name to user_name;--刪除角色drop role role_name;--看看這是不是你要的--查看用戶擁有許可權SELECT * FROM user_role_privs WHERE username = '大寫';
Ⅵ 如何使用sql語句賦於用戶"usr" 更新和插入表」sale「的許可權急求各位大神解答不勝感激
你是要修改表和插入表嗎?
Ⅶ 用SQL語句怎麼設置許可權
SQL是Structured Quevy Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。
##1 二、SQL資料庫數據體系結構
SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為「基本表」(base table);存儲模式(內模式)稱為「存儲文件」(stored file);子模式(外模式)稱為「視圖」(view);元組稱為「行」(row);屬性稱為「列」(column)。名稱對稱如^00100009a^:
##1 三、SQL語言的組成
在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成:
1.一個SQL資料庫是表(Table)的集合,它由一個或多個SQL模式定義。
2.一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。
3.一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在資料庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。
4.一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。
5.用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。
6.SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶介面,供交互環境下的終端用戶使用。
##1 四、對資料庫進行操作
SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1.數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2.數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3.數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4.嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。
下面我們將分別介紹:
##2 (一)數據定義
SQL數據定義功能包括定義資料庫、基本表、索引和視圖。
首先,讓我們了解一下SQL所提供的基本數據類型:(如^00100009b^)
1.資料庫的建立與刪除
(1)建立資料庫:資料庫是一個包括了多個基本表的數據集,其語句格式為:
CREATE DATABASE <資料庫名> 〔其它參數〕
其中,<資料庫名>在系統中必須是唯一的,不能重復,不然將導致數據存取失誤。〔其它參數〕因具體資料庫實現系統不同而異。
例:要建立項目管理資料庫(xmmanage),其語句應為:
CREATE DATABASE xmmanage
(2) 資料庫的刪除:將資料庫及其全部內容從系統中刪除。
其語句格式為:DROP DATABASE <資料庫名>
例:刪除項目管理資料庫(xmmanage),其語句應為:
DROP DATABASE xmmanage
2.基本表的定義及變更
本身獨立存在的表稱為基本表,在SQL語言中一個關系唯一對應一個基本表。基本表的定義指建立基本關系模式,而變更則是指對資料庫中已存在的基本表進行刪除與修改。
Ⅷ plsql中對我的用戶對表A有update許可權,但是使用Update更新A表數據時又提示許可權不足,請問大神是怎麼回事
plsql中對我的用戶對表A有update許可權,但是使用Update更新A表數據時又提示許可權不足,請問大神是怎麼回事?
賦予oracle資料庫中許可權,用grant語句。
如將scott用戶下的emp表的查詢許可權賦予system用戶,可用如下語句:
1
grant select on emp to system;
將scott用戶下的emp表的更新許可權賦予system用戶,可用如下語句:
1
grant update on emp to system;
Ⅸ 請問如何用SQL語句為指定用戶授權
SQL語言用GRANT語句向用戶授予操作許可權,GRANT語句的一般格式為:
GRANT <許可權>[,<許可權>]...
[ON <對象類型> <對象名>]
TO <用戶>[,<用戶>]...
[WITH GRANT OPTION];
其語義為:將對指定操作對象的指定操作許可權授予指定的用戶。
不同類型的操作對象有不同的操作許可權,常見的操作許可權如表3-4所示。
表3-4 不同對象類型允許的操作許可權
對象 對象類型 操作許可權
屬性列 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
視圖 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
基本表 TABLE SELECT, INSERT, UPDATE, ALTER, INDEX,DELETE ALL PRIVIEGES
資料庫 DATABASE CREATETAB
詳細信息…
接受許可權的用戶可以是一個或多個具體用戶,也可以是PUBLIC即全體用戶。
如果指定了WITH GRANT OPTION子句,則獲得某種許可權的用戶還可以把這種許可權再授予別的用戶。如果沒有指定WITH GRANT OPTION子句,則獲得某種許可權的用戶只能使用該許可權,但不能傳播該許可權。
例1
把查詢Student表許可權授給用戶U1
GRANT SELECT ON TABLE Student TO U1;
例2
把對Student表和Course表的全部許可權授予用戶U2和U3
GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;
例3
把對表SC的查詢許可權授予所有用戶
GRANT SELECT ON TABLE SC TO PUBLIC;
例4
把查詢Student表和修改學生學號的許可權授給用戶U4
詳細信息…
這里實際上要授予U4用戶的是對基本表Student的SELECT許可權和對屬性列Sno的UPDATE許可權。授予關於屬性列的許可權時必須明確指出相應屬性列名。完成本授權操作的SQL語句為:
GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;
例5
把對表SC的INSERT許可權授予U5用戶,並允許他再將此許可權授予其他用戶
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
詳細信息…
執行此SQL語句後,U5不僅擁有了對表SC的INSERT許可權,還可以傳播此許可權,即由U5用戶發上述GRANT命令給其他用戶。
例如U5可以將此許可權授予U6:
GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
同樣,U6還可以將此許可權授予U7:
GRANT INSERT ON TABLE SC TO U7;
因為U6未給U7傳播的許可權,因此U7不能再傳播此許可權。
例6
DBA把在資料庫S_C中建立表的許可權授予用戶U8
GRANT CREATETAB ON DATABASE S_C TO U8;
Ⅹ SQL的主要用途是什麼
SQL(結構化查詢語言)用於存取數據以及查詢、更新和管理關系資料庫系統。
SQL基於關系代數和元組關系演算,包括一個數據定義語言和數據操縱語言。SQL的范圍包括數據插入、查詢、更新和刪除,資料庫模式創建和修改,以及數據訪問控制。盡管很大程度上是一種聲明式編程(4GL),但是其也含有過程式編程的元素。
SQL是對埃德加·科德的關系模型的第一個商業化語言實現,這一模型在其1970年的一篇具有影響力的論文《一個對於大型共享型資料庫的關系模型》中被描述。
盡管SQL並非完全按照科德的關系模型設計,但其依然成為最為廣泛運用的資料庫語言。SQL在1986年成為美國國家標准學會(ANSI)的一項標准,在1987年成為國際標准化組織(ISO)標准。此後,這一標准經過了一系列的增訂,加入了大量新特性。
(10)sql語句更新和許可權擴展閱讀:
SQL是高級的非過程化編程語言,它允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解其具體的數據存放方式。而它的界面,能使具有底層結構完全不同的資料庫系統和不同資料庫之間,使用相同的SQL作為數據的輸入與管理。
它以記錄項目〔records〕的合集(set)〔項集,record set〕作為操縱對象,所有SQL語句接受項集作為輸入,回提交的項集作為輸出,這種項集特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它擁有極大的靈活性和強大的功能。
在多數情況下,在其他編程語言中需要用一大段程序才可實踐的一個單獨事件,而其在SQL上只需要一個語句就可以被表達出來。這也意味著用SQL可以寫出非常復雜的語句,在不特別考慮性能下。