1樓:
grant
名稱 grant — 賦予一個使用者,一個組或所有使用者訪問許可權
語法 grant privilege [, ...] on object [, ...]
to輸入 privilege
可能的許可權有:
select
訪問宣告的表/檢視的所有列/欄位.
insert
向宣告的表中插入所有列欄位.
update
更新宣告的表所有列/欄位.
delete
從宣告的表中刪除所有行.
rule
在表/檢視上定義規則 (參見 create rule 語句).
all賦予所有許可權.
object
賦予許可權的物件名.可能的物件是:
table
view
sequence
public
代表是所有使用者的簡寫.
group group
將要賦予許可權的組 group .
username
將要賦予許可權的使用者名稱.public 是代表所有使用者的簡寫.
輸出 change
如果成功,返回此資訊.
error: changeacl: class "object" not found
如果所宣告的物件不可用或不可能對宣告的組或使用者賦予許可權.
描述 grant 允許物件的建立者給某使用者或某組或所有使用者(public)某些特定的許可權.物件建立後,除了建立者外,除非建立者賦予(grant)許可權,其他人沒有訪問物件的許可權.
一旦使用者有某物件的許可權,他就可以使用那個特權.不需要給建立者賦予(grant)物件的許可權,建立者自動擁有物件的所有許可權,包括刪除它的許可權.
注意 目前,要想在 postgres 裡面只賦予幾列許可權,你必須建立一個包含那幾列的檢視(view),然後把許可權賦予那幾個檢視。
使用 psql \z 命令獲取關於現存物件許可權的更多資訊:
database = lusitania
| relation | grant/revoke permissions |
| mytable | |
legend:
uname=arwr -- privileges granted to a user
group gname=arwr -- privileges granted to a group
=arwr -- privileges granted to public
r -- select
w -- update/delete
a -- insert
r -- rule
arwr -- all
參考 revoke 語句廢除訪問許可權.
用法 給所有使用者向表 films 插入記錄的許可權:
grant insert on films to public;
賦予使用者 manuel 操作檢視 kinds 的所有許可權:
grant all on kinds to manuel;
相容性sql92
sql92 grant 語法允許對錶中的某單獨列/欄位設定許可權,並且允許設定一許可權以賦予別人相同許可權:
grant privilege [, ...]
on object [ ( column [, ...] ) ] [, ...]
to [ with grant option ]
這些欄位與 postgres 實現是相容的,除了下面一些例外:
privilege
sql92 允許宣告附加的許可權:
select
references
允許在一個宣告的表的完整性約束中使用某些或全部列/欄位.
usage
允許使用一個域,字符集,集合或事務.如果宣告的物件不是表/檢視, privilege 只能宣告為 usage.
object
[ table ] table
sql92 允許一個附加的非功能性關鍵字 table.
character set
允許使用宣告的字符集.
collation
允許使用宣告的集合序列.
translation
允許使用宣告的字符集轉換.
domain
允許使用宣告的域.
with grant option
允許向別人賦予同樣許可權.
2樓:糖糖寳寳
1、說明:建立資料庫
create database database-name
2、說明:刪除資料庫
drop database dbname
3、說明:備份sql server
--- 建立 備份資料的 device
use master
exec sp_addumpdevice 'disk', 'testback','c:\mssql7backup\mynwind_1.dat'
--- 開始 備份
backup database pubs to testback
4、說明:建立新表
create table tabname(col1 type1 [not null] [primary key],col2type2 [not null],..)
根據已有的表建立新表:
a:create table tab_new like tab_old (使用舊錶建立新表)
b:create table tab_new as select col1,col2… from tab_olddefinition only
5、說明:
刪除新表:drop table tabname
6、說明:
增加一個列:alter table tabname add column col type
注:列增加後將不能刪除。db2中列加上後資料型別也不能改變,唯一能改變的是增加varchar型別的長度。
7、說明:
新增主鍵:alter table tabname add primary key(col)
說明:刪除主鍵:alter table tabname drop primary key(col)
8、說明:
建立索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
注:索引是不可更改的,想更改必須刪除重新建。
9、說明:
建立檢視:create view viewname as select statement
刪除檢視:drop view viewname
sql的grant語句用法 5
3樓:
grant
名稱grant — 賦予一個使用者,一個組或所有使用者訪問許可權
grant privilege [, ...] on object [, ...]
to 輸入
privilege
可能的許可權有:
select
訪問宣告的表/檢視的所有列/欄位.
insert
向宣告的表中插入所有列欄位.
update
更新宣告的所有列/欄位.
delete
從宣告的表中刪除所有行.
rule
在表/檢視上定義規則 (參見 create rule 語句).
all賦予所有許可權.
object
賦予許可權的物件名.可能的物件是:
table (表)
view (檢視)
sequence (序列)
index (索引)
public
代表是所有使用者的簡寫.
group group
將要賦予許可權的組 group .目前的版本中,組必須是用下面方法顯式建立的.
username
將要賦予許可權的使用者名稱.public 是代表所有使用者的簡寫.
輸出change
如果成功,返回此資訊.
error: changeacl: class "object" not found
如果所宣告的物件不可用或不可能對宣告的組或使用者賦予許可權.
描述grant 允許物件的建立者給某使用者或某組或所有使用者(public)某些特定的許可權.物件建立後,除了建立者外,除非建立者賦予(grant)許可權,其他人沒有訪問物件的許可權.
一旦使用者有某物件的許可權,他就可以使用那個特權.不需要給建立者賦予(grant)物件的許可權,建立者自動擁有物件的所有許可權,包括刪除它的許可權.
注意目前,要想在 postgres 裡面只賦予幾列許可權,你必須建立一個包含那幾列的檢視(view),然後把許可權賦予那幾個檢視。
使用 psql \z 命令獲取關於現存物件許可權的更多資訊:
database = lusitania
| relation | grant/revoke permissions |
| mytable | |
legend:
uname=arwr -- privileges granted to a user
group gname=arwr -- privileges granted to a group
=arwr -- privileges granted to public
r -- select
w -- update/delete
a -- insert
r -- rule
arwr -- all
小技巧: 目前,要建立一個 group (組), 你將不得不手工向表 pg_group 中插入資料,像:
insert into pg_group values ('todos');
create user miriam in group todos;
參考 revoke 語句重新分配訪問許可權.
用法給所有使用者向表 films 插入記錄的許可權:
grant insert on films to public;
賦予使用者 manuel 操作檢視 kinds 的所有許可權:
grant all on kinds to manuel;
相容性sql92
sql92 grant 語法允許對錶中的某單獨列/欄位設定許可權,並且允許設定一許可權以賦予別人相同許可權.
grant privilege [, ...]
on object [ ( column [, ...] ) ] [, ...]
to [ with grant option ]
這些欄位與 postgres 實現是相容的,除了下面一些例外:
privilege
sql92 允許宣告附加的許可權:
select
references
允許在一個宣告的表的整合約束中使用某些或全部列/欄位.
usage
允許使用一個域,字符集,集合或事務.如果宣告的物件不是表/檢視, privilege 只能宣告為 usage.
object
[ table ] table
sql92 允許一個附加的非函式關鍵字 table.
character set
允許使用宣告的字符集.
collation
允許使用宣告的集合序列.
translation
允許使用宣告的字符集轉換.
domain
允許使用宣告的域.
with grant option
允許向別人賦予同樣許可權.
grant和bestow的區別,entitle和grant有什麼區別啊?
grant 多指出於慷慨 憐憫或正義感而給予,並且通常是在被請求下給予。bestow 正式用詞,指把某物作為禮物贈送於某人,也可作引申用。entitle和grant有什麼區別啊?予在文言文中有給予的意思嗎 有。但予這個字還要詳細解釋一下。古漢語常用字字典 解釋為 1,第一人稱代詞,當我講。2 通 與...
if語句的基本格式是?if語句有哪幾種形式的?
if語句的一般形式如下 if 表示式 語句1 else語句2 if語句中的 表示式 可以是關係表示式 邏輯表示式,甚至是數值表示式。其中最直觀 最容易理解的是關係表示式。所謂關係表示式就是兩個數值進行比較的式子。if 條件表示式 false執行花括符外的 if語句有哪幾種形式的?c語言提供了三種形式...
《聖經》中的經典語句《聖經》的勵志語句和經典語句
聖經 中最經典的十句名言 1 生命在他裡頭,這生命就是人的光。光照在黑暗裡,黑暗卻不接受光。新約 約翰福音 第1章 2 你們要進窄門,因為引到滅亡,那門是寬的,路是大的,進去的人也多 引到永生,那門是窄的,路是小的,找著的人也少。新約 馬太福音 第7章 3 愛是恆久忍耐,又有恩慈 愛是不嫉妒,愛是不...