GB | BIG5
|
| 首頁 > 數據庫 > Informix > 正文 |
 |
| Informix SQL 語句詳解 (2) |
| 本文出自: http://go3.163.com/~axiom999/ (2001-06-18 18:08:00) |
GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}
授權命令。
PUBLIC|user-list:全部或指定的用戶。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語句。
例:grant resource to pulbic;
GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
授表級權限。
tab-privilege:表級權限。
table-name:表名稱。
PUBLIC|user-list:全部或指定的用戶。
[WITH GRANT OPTION]:表示被授權用戶有否權限進行二次授權。
用戶可以在自己建立表達式或被[WITH GRANT OPTION]準許的表中進行賦權;限定越多的權限優先級越高。
例:grant update(c1,c6) on user to dick with grant option;
附(INFORMIX的權限)
(1) 數據庫的權限(控制對數據庫的訪問以及數據庫中表的創建和刪除)
DBA權限:全部權利,修改系統表,建立和刪除表與索引、增加和恢復表數據,以及授予其他用戶數據庫權限等;
RESOURCE權限:允許對數據庫表中的數據進行存取,建立永久性表以及索引。
CONNECT權限:只允許對數據庫表中的數據進行存取,建立和刪除視圖與臨時表。
(2)表級權限(對表的建立、修改、檢索和更新等權限)
ALTER:更改權限
DELETE:刪除權限
INDEX:索引權限
INSERT:插入權限
SELECT [(cols)]:指定字段或所有字段上的查詢權限,不指明字段缺省為所有字段。
UPDATE [(cols)] :指定字段或所有字段上的更新權限,不指明字段缺省為所有字段。
ALL [PRIVILEGES]:以上所有表級權限
19. REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
收權命令。
PUBLIC|user-list:全部或指定的用戶。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語句。
例:revoke resource from john;
REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}
收表級權限。
tab-privilege:表級權限。
table-name:表名稱。
PUBLIC|user-list:全部或指定的用戶。
[WITH GRANT OPTION]:表示被授權用戶有否權限進行二次授權。
用戶只能取消由其本人賦予其他用戶的表級存取權限;不能取消自己的權限,對SELECT和UPDATE作取消時,將取消
所有表中字段的SELECT 和UPDATE權限。
例;revoke update on user from dick;
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE
記錄級加鎖和表級加鎖或文件加鎖。
table-name:表名稱。
SHARE:允許讀表中數據,但不允許作任何修改
EXCLUSIVE:禁止其他任何形式訪問表
每次只能對表瑣定一次;事務處理過程中,BEGIN WORK立即執行LOCK TABLE以取代記錄級加鎖,COMMIT WORK和
ROLLBACK WORK語句取消所有對表的加鎖;若沒有事務處理,鎖將保持到用戶退出或執行UNLOCK為止。
例:lock table user in exclusive mode;
UNLOCK TABLE table-name
取消記錄級加鎖和表級加鎖或文件加鎖。
table-name:表名稱。
例:unlock user;
SET LOCK MODE TO [NOT] WAIT
改變鎖定狀態。
TO [NOT]:等待解鎖,有可能被死鎖或不等待並提示錯誤信息,表示此記錄被鎖,缺省值。
訪問一個EXCLUSIVE狀態下的記錄,將返回一個錯誤。
START DATABSE db_name [WITH LOG IN “pathname”]
啟動事務處理。
“pathname”:事務處理日志文件。
執行該語句前,需要先關閉當前數據庫。
例;clost database;
start databse customer with log in “/usr/john/log/customer.log”;
BEGIN WORK
開始事務。例:begin work;
COMMIT WORK
提交(正常結束)事務。例:commit work;
ROLLBACK WORK
回滾(非正常結束)事務。例:rollback work;
SELECT
SELECT select_list FROM tab_name|view_name
WHERE condition
GROUP BY column_name
HAVING condition
ORDER BY column_list
INTO TEMP table_name
查詢語句。
select_list:選擇表或*
tab_name:表名稱
view_name:視圖名稱。
condition:查詢條件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
column_name:分組字段名稱
condition:群聚條件
column_list:排序字段列表,缺省ASC,可指定DSC;排序時,NULL值小非零值。
table_name:臨時表名稱
例:略
附(常用函數)
(1)集合函數:
count(*)、
sum(數據項/表達式)、avg(數據項/表達式)、max(數據項/表達式)、min(數據項/表達式)
count(distinct 數據項/表達式)、sum(distinct數據項/表達式)、avg(distinct數據項/表達式)
(2)代數函數和三角函數
HEX(數據項/表達式)、ROUND(數據項/表達式)、TRUNC(數據項/表達式)、
TAN(數據項/表達式)、ABS(數據項/表達式)、MOD(被除數,除數)
(3)統計函數
標準差,stdev()、方差,variance()、范圍,rang()
(4)時間函數
DAY(日期/時間表達式):返回數字型
MONTH(日期/時間表達式):返回整數
WEEKDAY(日期/時間表達式):06,0星期天,1星期一;返回整數
YEAR(日期/時間表達式)、返回整數
DATE(非日期表達式):返回日期型
EXTEND(日期/時間表達式,[第一個至最一個]):返回指定的整數
MDY(月,日,年):返回日期型
CURRENT:返回日期型
(5)時間函數
ROUND(),四舍五入。如:ROUND(10.95,position)position進行四舍五入的前一位置
TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置
INFORMIX臨時表在下列情況下自動取消:
A.退出數據庫訪問工具(如DBACCESS)
B.SQL通話結束(DISCONNECT)
C.發出取消表語句
D.退出程序時
INSERT
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)
或 INSERT INTO view_name|table_name [(column_list)] select_statement
插入數據
view_name|table_name:視圖名或表名稱
column_list:數據項列表。
value_list:值列表
select_statement:查詢語句。
例:略
DELETE FROM view_name|table_name WHERE search-conditions
刪除語句。
view_name|table_name:視圖名或表名稱
search-conditions;刪除條件
例:略
UPDATE
UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions
或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions
更新數據語句。
view_name|table_name:表名稱或視圖表名稱
value_1ist:字段值
search_conditions:更新數據的條件
例:略
CHECK TABLE table-name
檢查索引語句。
語句使用者是表的擁有者或擁有DBA權限;不能對systable使用此語句。
例:略
REPAIR TABLE table-name
修復索引。
語句使用者是表的擁有者或擁有DBA權限;不能對systable使用此語句。
例:略
LOAD FROM “file-name” INSERT INTO table_name [(column_name[,…])]
將文本數據栽入表中。
例:load form “aa.txt” insert into user;
UNLOAD TO “pathname”
將表中數據卸為文本。
例:unload to “aa.txt” select * from user;
INFO
系統信息查詢。
INFO TABLES:得到當前數據庫上表的名字。
INFO columns FOR table_name:指定表上的字段信息。
INFO INDEXES FOR table_name:指定表上的索引信息。
INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取權限。
INFO STATUS FOR table_name:指定表的狀態信息。
例: info tables;
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
Informix SQL 語句詳解 (2) (2001-06-18 18:08:00) Informix SQL 語句詳解 (1) (2001-06-18 17:04:00)
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |