grant語句的完整格式,grant語句的完整格式

2022-02-26 23:01:12 字數 5818 閱讀 7078

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 愛是恆久忍耐,又有恩慈 愛是不嫉妒,愛是不...