Must know something of everything and everything of something!

Informix SQL语句详解(2)

上一篇 / 下一篇  2007-08-22 19:19:05 / 个人分类:DataBase

Informix SQL语句详解(2)

51Testing软件测试网1fmJ/O?/ey

GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}51Testing软件测试网6Nu2x3Sh5Sz$t;S
授权命令。51Testing软件测试网+YP$CD*TEdo
51Testing软件测试网l)E kl \6L/A#nO7}
PUBLIC|user-list:全部或指定的用户。
e:pCgjz#?,c&H051Testing软件测试网g8[`k&i9ETOVG
三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。51Testing软件测试网0G4Fa1n1b
51Testing软件测试网JK;[1u3Q dN(t(QN!d
例:grant resource to pulbic;
A$\V^;qZDQ0
S|N9BK]!|0mw0GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
H3a J2SvfY-V:j051Testing软件测试网&vaB F(w:q
授表级权限。51Testing软件测试网Z+T5Cn"`I/}:x
51Testing软件测试网8z{5?"hyU\m(q~(w
tab-privilege:表级权限。51Testing软件测试网Ic?/f)Q!p%F
51Testing软件测试网 C:uU b OYd:_
table-name:表名称。
Z!T%J@&HT@g2ym3oY0
L!Z&_&P#R {0PUBLIC|user-list:全部或指定的用户。
%S*i%w*K^j0
X9~0Y0[H2Y+R0[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。
U:jg2N GJ#R W[:G051Testing软件测试网a+j2m,M9}9Y)q
用户可以在自己建立表达式或被[WITH GRANT OPTION]准许的表中进行赋权;限定越多的权限优先级越高。51Testing软件测试网7`M&XKd,E MC

f3AIY-HW%Q0例:grant update(c1,c6) on user to dick with grant option;
Dl6E]N*D4~C051Testing软件测试网u#~D0p!H%eB
51Testing软件测试网't6d/{,?'z Q_Q3Uo
51Testing软件测试网 xD8A!kC yP6C
附(INFORMIX的权限)
[0??} D{l:z-Y3_I051Testing软件测试网7m;U8Fe.C^,vi7Fb
(1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除)
|R(d:WIg-mO8C0
)E2C)P5H%T9^&v0DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;51Testing软件测试网*b6^yx$u K O
51Testing软件测试网 r&H a9j+HP]Ph
RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。
R)p4| E|)P:zK0
$XLg%M H0CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。51Testing软件测试网%Zqu;?^

KY"\ rpvo Dl(I,S0(2)表级权限(对表的建立、修改、检索和更新等权限)51Testing软件测试网8wf{{:X(Bz
51Testing软件测试网O$t2u)E4O)r vb
ALTER:更改权限
3X%yO*y%f~4ok%rO"f0
5o-W)D,g:?"h0DELETE:删除权限51Testing软件测试网l;B}i8IO?2r

;pV(tlr,D-R#iQi+S X0INDEX:索引权限51Testing软件测试网*f*n k#E2})M(s:B%N.K!D
51Testing软件测试网[1SU8T+C-V&hF
INSERT:插入权限51Testing软件测试网 c@5pKgQ @ ?
51Testing软件测试网\wTLd/wD-^
SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。51Testing软件测试网8A/vAuso0mv

X:pb*y+Gj;Y#R0UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。51Testing软件测试网X6e`xByzui3Q

SnE-U%vU7jS-d y0ALL [PRIVILEGES]:以上所有表级权限51Testing软件测试网 v$m7Eq m7|O ^)c @

Y%@"@ hx051Testing软件测试网*d}5o,?9q6o I'A!Y
51Testing软件测试网%Qkt pVZ;^?
19. REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
Sr)[9Bl051Testing软件测试网9[4Y px#PI cugJE
收权命令。
x5\H2F)E0
}O AIH$P)?0PUBLIC|user-list:全部或指定的用户。
3]1F y?}xE}~+z t051Testing软件测试网"WG_aF7I3ET
三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。
+GYZ)w-lf#TD6K0
;l[!qn.Da0例:revoke resource from john;51Testing软件测试网6M+M0W3f7a lg

BpD"O[u;L0REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}51Testing软件测试网~c:lA;Oz*H

rJc9_ F&~0收表级权限。51Testing软件测试网&d+m5H,hY(~S

)F T*MI~M5f%s v0tab-privilege:表级权限。
t Cud:ZU M051Testing软件测试网 Zd~#ela
table-name:表名称。
&sT*a#OKu.[051Testing软件测试网3?;n3z)Y7^&U x"g7a
PUBLIC|user-list:全部或指定的用户。
2P5yQT3cTJ5?\-}:v051Testing软件测试网$} T d^*?l
[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。
i.Ko6x(CWFT,P051Testing软件测试网,R pO'W8qn,?'E
用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消
`#p&}V;yVmzJ"{0所有表中字段的SELECT 和UPDATE权限。51Testing软件测试网"vBw%`#m c`s
51Testing软件测试网+`I J g(U4] Td$L
例;revoke update on user from dick;
%ew*kxWkk)]!^051Testing软件测试网2b1uls%l,P
51Testing软件测试网aZ$e*nU@`(h
51Testing软件测试网!p#W+Q-]K\!m3_
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE51Testing软件测试网:L7]$R)e g Uo1^
记录级加锁和表级加锁或文件加锁。51Testing软件测试网v-cH;^ mW6mn,T

7zOD+t](Ax _RUn0table-name:表名称。
+QiuA\p051Testing软件测试网 E,?,j;l/QM@
SHARE:允许读表中数据,但不允许作任何修改
3L:g K_%pAR*^| P0
6l6VTp'SD+u0EXCLUSIVE:禁止其他任何形式访问表51Testing软件测试网"B7H$WIQji:|+[
51Testing软件测试网3Ic|hx
每次只能对表琐定一次;事务处理过程中,BEGIN WORK后立即执行LOCK TABLE以取代记录级加锁,COMMIT WORK和
K4q#_A dO}"V"b8D0ROLLBACK WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。51Testing软件测试网 ?;gm S/Gj

:p7I$S5u8p+?B0例:lock table user in exclusive mode;51Testing软件测试网Wx6\/a0ty,M GJ#sB(y

2V]J&D0q+JrqQ I051Testing软件测试网T'GT4jr%} |x?\

2g-{0a!d(Tx,F0UNLOCK TABLE table-name
(MX-f,L#X'd0取消记录级加锁和表级加锁或文件加锁。
B/j)\Q0im/XeB"e051Testing软件测试网 ds!o2?+i`5gS+?E
table-name:表名称。
G7t`)b2xrJ051Testing软件测试网t[}:r/d
例:unlock user;
-{$sO1O \ T0
JB%DUd3Y It2Qk3[M051Testing软件测试网IV;JI\(jI

]{Mv.@;~U0SET LOCK MODE TO [NOT] WAIT
(_Y/?5}Xw0改变锁定状态。
)l cb;V2u LJ0
CH#@5j0g6{ a m+u0TO [NOT]:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。
u;d|3z+h o3Ea `0
CPu:M'hy F2hI0访问一个EXCLUSIVE状态下的记录,将返回一个错误。51Testing软件测试网5xg0kq,z)Y6@-X(f)z
51Testing软件测试网ldJ,?#u0sJ

+WaA[ \;{051Testing软件测试网dNE@)@"n7N
START DATABSE db_name [WITH LOG IN “pathname”]
N9n#|T)@0启动事务处理。
.@tl1kS-X+e T~3i|5Y051Testing软件测试网 \'X,Z|p7K i tg.U$_
“pathname”:事务处理日志文件。
tIoE%c"w|[0
A3]N.GX0E jE0H0执行该语句前,需要先关闭当前数据库。51Testing软件测试网2V yAa!b.@6~#B

/cn'e R`'kSZ0例;clost database;
i*A S1aV0
PW&oj#bNz C {0start databse customer with log in “/usr/john/log/customer.log”;51Testing软件测试网mRYc1T.~6f

#L/z.chM7{b;q0
O)m(PO2p{051Testing软件测试网:?zK2M:M-O
BEGIN WORK51Testing软件测试网8cV#V QUfwf%G%{
开始事务。例:begin work;51Testing软件测试网We3q6W yRqG
51Testing软件测试网%? dr*O3Q G"UC

1b;WK+N;wl&F&|4m051Testing软件测试网2v~/K'y#Uj
COMMIT WORK
,SY Kh?(z0提交(正常结束)事务。例:commit work;
-h [ X/^ j'lG&S051Testing软件测试网P fp)g)k gC1[H"jsb
51Testing软件测试网3j;Zac a!\,`n
51Testing软件测试网%s sUH;N1X9X
ROLLBACK WORK
$k U)M/BR@0回滚(非正常结束)事务。例:rollback work;51Testing软件测试网"]+Oq7WMrU

+y(F5r9Tk? e o0
H _3b7^$c1@#RhVq0
[,\0FG8]3L(W0SELECT51Testing软件测试网jHY&}9{
SELECT select_list FROM tab_name|view_name51Testing软件测试网3A ?^._Bna
51Testing软件测试网*r3bwtI5E"d D
WHERE condition
W/yx3`B Tx0
oL7dWfC7X m0GROUP BY column_name
8Z:O!P_w v*M1zab0
XZ6g9itW|#XI0HAVING condition
I(u luX8I0
Py#I8CX0ORDER BY column_list51Testing软件测试网Y4l C!`_ I

PcG]F }ZIvM0INTO TEMP table_name51Testing软件测试网sYx7Bp$C
51Testing软件测试网r4j{8K0_$Ak3J:c~
查询语句。51Testing软件测试网 B*BoY^M
51Testing软件测试网{*\4pvt
select_list:选择表或*51Testing软件测试网 Y&yM ND AY Q

Gq0byE4Ip0tab_name:表名称
(Q/| SV({8@9?]u&~uL0
4H aQ"JR*JY o`%o0view_name:视图名称。
c(KZ'Aht(u w0
kv d@`+I(fB&M?0condition:查询条件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、
Xq5Fng8MhE k051Testing软件测试网x8CH{ {E
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
%ikuu:[_0
;D+\d't:B!Bt0column_name:分组字段名称51Testing软件测试网4Kr5z }7Q7y

5nZ N)yp%gE2a(p:h&g0condition:群聚条件
l a2D5M,? q+A0U,ez051Testing软件测试网'K"Tq k;O2\%E1d'v
column_list:排序字段列表,缺省ASC,可指定DSC;排序时,NULL值小于非零值。
;_.` n)X4b8wLZ051Testing软件测试网y8E.P:G o2G kv
table_name:临时表名称
N_+KhJp w0
,m0A.ht^$? @@e*r0例:略51Testing软件测试网-Gsh wzJX1l
51Testing软件测试网5BlQ7x_@
附(常用函数)
ko-Div'k+a Fw051Testing软件测试网t mJ8ntZ eC'^
(1)集合函数:51Testing软件测试网#@6BTH/A;}zI
51Testing软件测试网&`@U?;G$M0^7z
count(*)、
eZ8b&O'L Bx,e\0
z0Tb(rb1v(p/t0sum(数据项/表达式)、avg(数据项/表达式)、max(数据项/表达式)、min(数据项/表达式)51Testing软件测试网g(Gww_%OOV

E,_ A4x6f0count(distinct 数据项/表达式)、sum(distinct数据项/表达式)、avg(distinct数据项/表达式)
Y?LM^U0
6v^KO#k0(2)代数函数和三角函数51Testing软件测试网'Q*n1j vU){,Tl

Fp%t,?N#y1F0HEX(数据项/表达式)、ROUND(数据项/表达式)、TRUNC(数据项/表达式)、51Testing软件测试网'M(Odr4C;]aJ o/v$p
51Testing软件测试网bs&o:K%N
TAN(数据项/表达式)、ABS(数据项/表达式)、MOD(被除数,除数)
P!P*`!m y&T;q051Testing软件测试网1tB+F$U6g/M7P.|A
(3)统计函数
%{-N_clt0
)e,pJ&~5n;U0标准差,stdev()、方差,variance()、范围,rang()51Testing软件测试网+g P ]L"Q^i"HG

:n:kVB_c*C"x0(4)时间函数51Testing软件测试网oJ0dd(mCD,j~
51Testing软件测试网f%lqR#UyO
DAY(日期/时间表达式):返回数字型51Testing软件测试网 [5l)]{^B(D)rH
51Testing软件测试网cP,I5P+V/_1F
MONTH(日期/时间表达式):返回整数
JPNw spIsP+y0
&_Oq#z4jQ D&?,UL E0WEEKDAY(日期/时间表达式):0&#0;&#0;6,0星期天,1星期一;返回整数
en PRN,N!O"uTHq0
Gb1fpX2l8[0YEAR(日期/时间表达式)、返回整数51Testing软件测试网-I#e;D?F#@h{Hl

U/N6cyR+w7H8Q1?JX0DATE(非日期表达式):返回日期型
}q5u*ylq4`0
8a A&E ~*j#v _0EXTEND(日期/时间表达式,[第一个至最后一个]):返回指定的整数
5bY3q5s/\7Y+g,~xI0
X!\2yK)U1o0MDY(月,日,年):返回日期型51Testing软件测试网pe$Vm3Se|/U

CFW3V)N G0CURRENT:返回日期型
%R_3a?QU051Testing软件测试网 _z??-W+ww
(5)时间函数51Testing软件测试网`QL%~'eB)s X
51Testing软件测试网x$T;y&S fGW}D
ROUND(),四舍五入。如:ROUND(10.95,position)position进行四舍五入的前一位置
6d0N!`9{|1mC0
PjIp#y$I/a C0TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置
5U q2R1Lo_-U0
f r*z'd-[.b0INFORMIX临时表在下列情况下自动取消:
YH%eS*{xBx,R0
,~ d4d$}F$x:{0A.退出数据库访问工具(如DBACCESS)
-N x"m6Yxs i0
tfZBk0B.SQL通话结束(DISCONNECT)
t0lB D8u051Testing软件测试网9i,r6TSu:B vL
C.发出取消表语句
5|K7c,{$VZ0
1Xtz4pF9h8q!h!e8{0D.退出程序时51Testing软件测试网r:C.ave-bj/I8@s

)W'@ oIPR$w0O+S051Testing软件测试网x y|,|.{8H

7n*Gp9qYsj/_ _0INSERT51Testing软件测试网0FHo CT9d_C
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)
rKmJ#yHF(X'YA0
9HY Egv S0或 INSERT INTO view_name|table_name [(column_list)] select_statement51Testing软件测试网+~6Qn"g0MS&KdT9L

Z5WSum;D(k0插入数据
+BWm w F(Z051Testing软件测试网 ]rpt2Bx%R/ye_
view_name|table_name:视图名或表名称
k e`S1i7g2|BT$fs051Testing软件测试网2s1B-U6_6B:R ]W!zz
column_list:数据项列表。
U@/j"Umy'AQNj0
:]vx9F&@B5Q0value_list:值列表
$X7{d(Q3U \051Testing软件测试网 n*s&ip'e X
select_statement:查询语句。
q9e,B;zV0s,Zu%e051Testing软件测试网$L;dN [3i1RT
例:略51Testing软件测试网g?;\r[x e_ QCv

Q,KHQ-Mw%o051Testing软件测试网%J1J8\g9~

Jn`)o2v(|L y/c0DELETE FROM view_name|table_name WHERE search-conditions
7z0T7{X?r:M'[p0删除语句。51Testing软件测试网y["Bg F7[qgY

@wh^gX2u%BD0view_name|table_name:视图名或表名称51Testing软件测试网c,}$duMj }g

S's+[^h1f0search-conditions;删除条件
+F$urhi4Y l3[051Testing软件测试网od)}dd3c
例:略51Testing软件测试网ii$L1l,X

&xi Q9O-e0UPDATE
9l5~"U3J2K6p)[f0UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions51Testing软件测试网 ` kX3VM&b
51Testing软件测试网+r L8LoN!S l
或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions51Testing软件测试网,UQ i RCT Cy

w?(m-_)Q'Rv0更新数据语句。51Testing软件测试网6b3@E4ah

zpC8kF0view_name|table_name:表名称或视图表名称
(N~S$jw051Testing软件测试网UgN1q Q5];U"O"}fE
value_1ist:字段值51Testing软件测试网] W!k6uzk4V

t&E"a#l2r1Y4l`.xby0search_conditions:更新数据的条件
a)xa:@ ~S9\051Testing软件测试网T Y y t L%V!Z:_
例:略51Testing软件测试网LQ[I ]b/t n

_)J3TZJcL w0CHECK TABLE table-name
&y\ y?ei+ep.g0检查索引语句。
&qz U(w)_nt051Testing软件测试网(F!R%T*w!R;Q0kX
语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。51Testing软件测试网:n&Vy#Fk!ymF

NY5kF o$x+? mf0例:略51Testing软件测试网7Al1^0r;h&B-nfX
51Testing软件测试网1{ y)J hEt\/M*l
REPAIR TABLE table-name
:iqEZvzMz/K0修复索引。
(G j&[(mh051Testing软件测试网W\"tK`H%b"r
语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。51Testing软件测试网 cHZ)g%R7B

'p:Z t7q2x:r\MJrV0例:略
'E qe8Z.P#q6`T0
5UM.t9S f2N"z{0LOAD FROM “file-name” INSERT INTO table_name [(column_name[,…])]
C'[9i@#TD0将文本数据栽入表中。
.Gg ^,FS0
8e J4F1U2xa0_)} [#r.b0例:load form “aa.txt” insert into user;
u?"A/op051Testing软件测试网nUwXA/S0g
UNLOAD TO “pathname”51Testing软件测试网;zz/Wp!F"s A
将表中数据卸为文本。
]f N*p ukY+g {0
^j L/JBz0例:unload to “aa.txt” select * from user;
~*Um!QW:D0
y@&nIU.^'|GC0INFO51Testing软件测试网[uRz-Y,Gw9f$V%O
系统信息查询。
/i k:`K7},_nFL051Testing软件测试网W5h5G O n(b [S
INFO TABLES:得到当前数据库上表的名字。
Y2G[K\L'?lM:s0
Y5p%W$y6u7I1x{0INFO columns FOR table_name:指定表上的字段信息。
*RV2Wz J0
$UO%T^5Thv2?"MqE0INFO INDEXES FOR table_name:指定表上的索引信息。
J1N_4AP,~6M,f8g V5Y5@0d051Testing软件测试网ps#t MHR7V-To
INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取权限。51Testing软件测试网\s&h/e*^!@

+R5@1{CT0g f2}j0INFO STATUS FOR table_name:指定表的状态信息。51Testing软件测试网7lfl3C q)@yg
51Testing软件测试网}n.]\Y^,Bj
例: info tables;

iH7Y'jw)I/_.n u8~s0
 

TAG: informix sql DataBase

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2020-06-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 47051
  • 日志数: 93
  • 建立时间: 2007-03-22
  • 更新时间: 2007-12-31

RSS订阅

Open Toolbar