Must know something of everything and everything of something!

Informix SQL语句详解(2)

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

Informix SQL语句详解(2)

$cpoM_1u/H0GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}51Testing软件测试网/Kup6WT[9p5hb9V
授权命令。51Testing软件测试网%m ~aob-Lw"{H
51Testing软件测试网h:`$f;L?Y M+e+CB
PUBLIC|user-list:全部或指定的用户。51Testing软件测试网7B H AsL pO'[u;~p;L
51Testing软件测试网}C5C"D|7E
三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。
P*N/H0i MbI} S0
r3V-Z%B~ t?)OdG0例:grant resource to pulbic;
b*q C,QZ#Tg S051Testing软件测试网h `!~$f)CrM
GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
G0]AaG})Go GA051Testing软件测试网q/ZLy0Q%u
授表级权限。
+qi Dk5?{7aZ051Testing软件测试网,W-]uw`W)h
tab-privilege:表级权限。51Testing软件测试网&uny*pBR

$biv1n| V.d3J0table-name:表名称。51Testing软件测试网#W%d RE?]
51Testing软件测试网wm;}1DG%o5A K0?
PUBLIC|user-list:全部或指定的用户。
Un L1w&Yi051Testing软件测试网 DMEg n
[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。51Testing软件测试网6`'X.IO$W

xp2a-U;ul0用户可以在自己建立表达式或被[WITH GRANT OPTION]准许的表中进行赋权;限定越多的权限优先级越高。
(p'EW/S4rj)N051Testing软件测试网6OFa#xK
例:grant update(c1,c6) on user to dick with grant option;51Testing软件测试网xZ6Wd7cz8W,DVk Q.N

9hL&H/r(e.U/D5a051Testing软件测试网g,nG;I@G

-D(b#b)l)n:_A0附(INFORMIX的权限)
'v wh B]S{ v051Testing软件测试网T"W.Ly.Rb._n
(1) 数据库的权限(控制对数据库的访问以及数据库中表的创建和删除)51Testing软件测试网DS$S/p;Y%gDH$g#d
51Testing软件测试网&W#U4_'A;EWdf3z^,YF
DBA权限:全部权利,修改系统表,建立和删除表与索引、增加和恢复表数据,以及授予其他用户数据库权限等;
A~'a&?Q9q051Testing软件测试网3M P6v8K)~HZG
RESOURCE权限:允许对数据库表中的数据进行存取,建立永久性表以及索引。51Testing软件测试网Bnj[|2[a.]

M zK{!c+Z0Q;o0CONNECT权限:只允许对数据库表中的数据进行存取,建立和删除视图与临时表。51Testing软件测试网3pE Y*ep-B

I{1s,V0eQ6E h0(2)表级权限(对表的建立、修改、检索和更新等权限)
2n3O @8p1]3dXeq051Testing软件测试网8[3DR?B.CvI
ALTER:更改权限
o SQviN/K2M(~0
^!u%QlWc0DELETE:删除权限
!?~-o[5s$oY4n A0
!d7sZ)["V mN1Ml3\0INDEX:索引权限
8S2Cd R8r051Testing软件测试网[ A9D~'zm5N8i*t
INSERT:插入权限
`Dr$|7s051Testing软件测试网1{L8vi9Y$Xk
SELECT [(cols)]:指定字段或所有字段上的查询权限,不指明字段缺省为所有字段。51Testing软件测试网0Cv_8f+f~A
51Testing软件测试网qz\VHBA
UPDATE [(cols)] :指定字段或所有字段上的更新权限,不指明字段缺省为所有字段。51Testing软件测试网 W/sd }p#N
51Testing软件测试网5u7yFGmpKI?\%rh5k
ALL [PRIVILEGES]:以上所有表级权限51Testing软件测试网k8m r&\D VG1^
51Testing软件测试网$] f;VoS DZ
51Testing软件测试网%le z"C`
51Testing软件测试网L(?+H b/GGDE K
19. REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
4] H2qEj-\"S0
YH9n7d5?i0收权命令。
/WN rf#LNN.|H0
wa&~c2[1h\7Kt0PUBLIC|user-list:全部或指定的用户。
G)KC@V4d0
F{Le!c y(@.v0三种权限居且仅居其一,事务处理过程中不要执行GRANT语句。51Testing软件测试网&o d3R4~ TY^
51Testing软件测试网^8h9_3[SNa
例:revoke resource from john;51Testing软件测试网+OMdQ-A3J LdM.O
51Testing软件测试网 a7t ?}$U7c#x-mHGa
REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}
Z4d _4IW)[uR051Testing软件测试网Wk1i"G|9ah
收表级权限。51Testing软件测试网0} Ig4f+v~#N

xRl}1ym2gkI3N J0tab-privilege:表级权限。
$N)s*`#QR({+rCU0
f![.oF&_I0table-name:表名称。51Testing软件测试网 P2oO a\*Aa
51Testing软件测试网#AJ:C,dG
PUBLIC|user-list:全部或指定的用户。
_#qN7g QH0
u9F(u.O1`-Q|0[WITH GRANT OPTION]:表示被授权用户有否权限进行二次授权。51Testing软件测试网LjZ`uQ
51Testing软件测试网.D&Go{ A&i"~"`'m*V
用户只能取消由其本人赋予其他用户的表级存取权限;不能取消自己的权限,对SELECT和UPDATE作取消时,将取消
7Vg+KeT` p T|0所有表中字段的SELECT 和UPDATE权限。51Testing软件测试网yoP%@;X9~)T9y

*_-C~']7\R0例;revoke update on user from dick;
7_ S'V/V8f,g"A5r051Testing软件测试网.?QI @3o8gw L-k7i.|\
51Testing软件测试网 UDSL9a&l5w\6m N
51Testing软件测试网 C!h M-ud y1rQO
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE
z.t+H v!jRxo w0记录级加锁和表级加锁或文件加锁。51Testing软件测试网,HZ2FoM$]X,n-e
51Testing软件测试网^0|)~Tp2hv
table-name:表名称。
9MC4^F|rdw!N051Testing软件测试网&\)S9Z@0[v:Y
SHARE:允许读表中数据,但不允许作任何修改
$\ xr7qWn4u0
D`@1O)wU Y'X0EXCLUSIVE:禁止其他任何形式访问表
-fc`\C z;p B051Testing软件测试网"n!KI(|E%Xt'v
每次只能对表琐定一次;事务处理过程中,BEGIN WORK后立即执行LOCK TABLE以取代记录级加锁,COMMIT WORK和51Testing软件测试网}ILM1HBdi
ROLLBACK WORK语句取消所有对表的加锁;若没有事务处理,锁将保持到用户退出或执行UNLOCK为止。51Testing软件测试网7?@p.E1?Y.N
51Testing软件测试网,P-D{K%|+XU
例:lock table user in exclusive mode;
s/kSm2f[T(N{|4Y051Testing软件测试网8g#\8X"JG4LH"s

6uMPic? W(T6V0
J"|?]2x wg0UNLOCK TABLE table-name
LPPB&Aqv~Cs0取消记录级加锁和表级加锁或文件加锁。51Testing软件测试网9NWw7WO B C8sA4G
51Testing软件测试网*R9p1NHqyg'wqF(y f.QR
table-name:表名称。51Testing软件测试网v'I0R _X{&G4E
51Testing软件测试网jFF0Ad,R6\
例:unlock user;
A B_]kD;b-B5N0f051Testing软件测试网:Ub*`EWJr

;h)yo&Q T/W|1xt051Testing软件测试网w1k2I-`m#g3BHw
SET LOCK MODE TO [NOT] WAIT51Testing软件测试网:|` WX,bT
改变锁定状态。
{C["lDp0
3E4J@ CY:Ok%i7f0}{/q0TO [NOT]:等待解锁,有可能被死锁或不等待并提示错误信息,表示此记录被锁,缺省值。
S1G(^6p ri a051Testing软件测试网8B iJ,Ow!oH
访问一个EXCLUSIVE状态下的记录,将返回一个错误。51Testing软件测试网X r3_J7_
51Testing软件测试网 p,x&`L'vMW;f%`G

L"ts8@d2v FyY0
:|[0mAY m0START DATABSE db_name [WITH LOG IN “pathname”]
x i Ng9[;G4We0启动事务处理。
/t^a+DR'@1W\{0
H/J}}sj7asn0“pathname”:事务处理日志文件。
|yJI2A ]9R M5m0
eDN4icQ x+S6|d0执行该语句前,需要先关闭当前数据库。
gC3Y$h;l,|JP#u0
)M5St'T#Y3D3` F'}0例;clost database;
!r,G'yVSuO0
5f(P%_4~G9] { V*]q o0start databse customer with log in “/usr/john/log/customer.log”;
+B,wlw^5i0
}M0o%m7z+s6m,bJ^r Z051Testing软件测试网iK"\6\C]:Jv

/N\|4U3E o$n8Z?0BEGIN WORK51Testing软件测试网/}S&`M-`_9K+C
开始事务。例:begin work;51Testing软件测试网Ja1wI^#O([

g6B5]NE051Testing软件测试网 HAY6|](W/v-g1r6B m

m;S/o']'f&a0COMMIT WORK51Testing软件测试网!{M l]fy!]"g(_
提交(正常结束)事务。例:commit work;
^\Z|/U P051Testing软件测试网q3k.}4A8y)\
51Testing软件测试网Z^8[6ES(v\!S1od
51Testing软件测试网e Ry ?[4p0M*c R
ROLLBACK WORK51Testing软件测试网*k:g(qIaz
回滚(非正常结束)事务。例:rollback work;51Testing软件测试网)i_-vCDO0RWQ.^

.mBn hr9M0
m.Pp3R f\ f4XG)@051Testing软件测试网6YC8U_4dI}'D
SELECT
*C3bQ/s7o0l0SELECT select_list FROM tab_name|view_name
{^^aMi7e?u4neb051Testing软件测试网4Y&G kd7S.D
WHERE condition51Testing软件测试网&pv.Z2Q@$]
51Testing软件测试网k[ d-wuJ
GROUP BY column_name
VHn!mWvS051Testing软件测试网Q,|R5Z K0JV
HAVING condition51Testing软件测试网 ]}/se[$a8W/U:j
51Testing软件测试网8_OE^@0i'ale
ORDER BY column_list
]/Cy(Cj-M0Np0
yXx_ `/~ {0INTO TEMP table_name51Testing软件测试网m$o2^6C p)V
51Testing软件测试网/Wh$us!d
查询语句。
+x3Z$|I;a9}2no z051Testing软件测试网)U3K[N.OC+m
select_list:选择表或*51Testing软件测试网JX XS;@ J8V+tS

?2i!K Z2t2}!~0w g0tab_name:表名称51Testing软件测试网 V|"Zwk4Y~)z)B
51Testing软件测试网eBVyo"z9]
view_name:视图名称。
]5O!b:V6IBH'@9n051Testing软件测试网*]@ J;XOKO3j4b%Ag
condition:查询条件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、51Testing软件测试网jr*VY"r+O1D1W(e
51Testing软件测试网 Y:Copz}%ZywY
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
S(B*jVo| w051Testing软件测试网R&@6y#G R iSLkr
column_name:分组字段名称51Testing软件测试网(JV0JL7BC$` K:{
51Testing软件测试网8|;GsF-p%D6X
condition:群聚条件51Testing软件测试网7Sv7Az-p.D:u9b

M \7Y7|-k m0a Oi0column_list:排序字段列表,缺省ASC,可指定DSC;排序时,NULL值小于非零值。51Testing软件测试网_[0Xn3qh'U
51Testing软件测试网 } q#IA,C1F
table_name:临时表名称51Testing软件测试网z sm-HQ-A$P
51Testing软件测试网%N j%@Ea7W
例:略
,}'aYPZ'Jm0
[M1]~ T0附(常用函数)
5f7dl S}1t]Y|051Testing软件测试网"PyT3p o}
(1)集合函数:
R)P&Gzo051Testing软件测试网&~0p7] |vv3IK@
count(*)、
3uMdb#^P1d0
_T'tK{7o wrb0M.?0sum(数据项/表达式)、avg(数据项/表达式)、max(数据项/表达式)、min(数据项/表达式)51Testing软件测试网B/L7N"g$agD&M S!K

'v ]E3b*o&V0count(distinct 数据项/表达式)、sum(distinct数据项/表达式)、avg(distinct数据项/表达式)
g#t,|/Wik?Pl{5{051Testing软件测试网;eL8|6X"BZ
(2)代数函数和三角函数
%W(ZukX v'?1psQ:ck051Testing软件测试网;hPKsy imK:`
HEX(数据项/表达式)、ROUND(数据项/表达式)、TRUNC(数据项/表达式)、51Testing软件测试网[:LQ$ctoS_eG

J)Pe'w o]/|8k!E0TAN(数据项/表达式)、ABS(数据项/表达式)、MOD(被除数,除数)
"E3H"tRSs(Z,L;y'\bbA051Testing软件测试网]x:s%_!k B9B ~
(3)统计函数51Testing软件测试网8m O@6^-rC;[F

a~'Y4Fd]0标准差,stdev()、方差,variance()、范围,rang()51Testing软件测试网/ns5w:mJ9[

9M4x;aEn:smK ^0(4)时间函数
K8iR?M6F*G051Testing软件测试网D(f3xz7v.E{i1TB
DAY(日期/时间表达式):返回数字型
9B])Ns5h051Testing软件测试网d's{ZN%N-s
MONTH(日期/时间表达式):返回整数
!s+f5tAe$@4p&R1~0
)v,a-hZ f"OS"]0WEEKDAY(日期/时间表达式):0&#0;&#0;6,0星期天,1星期一;返回整数51Testing软件测试网iR5_;]"B;HN2j

zq%Jm_)_'C!C6_0YEAR(日期/时间表达式)、返回整数51Testing软件测试网P2Cx'^@P+t
51Testing软件测试网?nN"A!~$e5b
DATE(非日期表达式):返回日期型51Testing软件测试网 u!~b7W,j5F&HZ
51Testing软件测试网6^;Z$\p1ld
EXTEND(日期/时间表达式,[第一个至最后一个]):返回指定的整数
V1fOM9p.W.e051Testing软件测试网5TE3{y!P YP,]
MDY(月,日,年):返回日期型51Testing软件测试网)l+O\S:pE*H0g

/?&Ba"D!J0CURRENT:返回日期型51Testing软件测试网P!sY]/v|

8Y:_x(clL.M0(5)时间函数
wn;}5i`+F051Testing软件测试网1@.c0j#[)~Z
ROUND(),四舍五入。如:ROUND(10.95,position)position进行四舍五入的前一位置51Testing软件测试网K I.e!QR#eG
51Testing软件测试网S1K |\\ `
TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置51Testing软件测试网 K!l}j)\T

k7Kx1C`T.S0INFORMIX临时表在下列情况下自动取消:51Testing软件测试网V6\"L-R4T;O r&D

'J3lZpE5u9EQ0A.退出数据库访问工具(如DBACCESS)51Testing软件测试网9LV~zsvC7J(}.a{z

@0jg@r6N9\0B.SQL通话结束(DISCONNECT)
u3I7`i+d&t5ny0
qkb:M1qgdtx0C.发出取消表语句
E'F-f0A1b$Y q)ny051Testing软件测试网3\cg;m-?*?$shC
D.退出程序时51Testing软件测试网4Lm(bn6y)k+cA
51Testing软件测试网 E$h Z0U6V4Sb

cn\ XWH0
h$S zL d%cXr2g0INSERT51Testing软件测试网$cy\i{)}k
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)51Testing软件测试网(iR)N$kn$j

w4{J[7K*g/q0或 INSERT INTO view_name|table_name [(column_list)] select_statement
/Ac+m[/[051Testing软件测试网A/}q0NU6cd6r
插入数据51Testing软件测试网 S}&ZH4W

k^;[r-Y ZUfm#~0view_name|table_name:视图名或表名称51Testing软件测试网a8`!?bgfq5[k3a O

R't'i/Z|.?!ij0column_list:数据项列表。
8S9?Z/Zo051Testing软件测试网N+n\ Q:m
value_list:值列表
Z;tzx!W0
UG0Q!t{x"^D0select_statement:查询语句。
0j;A`(byA Os~r+J051Testing软件测试网Dhmud0m@$woX
例:略51Testing软件测试网/t1b[;Q$rLx
51Testing软件测试网?~Pc1I-d

xHi&n1~[[|"C0
1{-\'sC#gJ0DELETE FROM view_name|table_name WHERE search-conditions51Testing软件测试网0^)\W)ly.dZU
删除语句。
7JO7Pu1T}0
z'[BkF X0view_name|table_name:视图名或表名称
`"sOM"zq0
W1WW'e`QVs.A.CKW0search-conditions;删除条件51Testing软件测试网lL;K)Flr V"t8W

Wx}2eipBa0例:略
/S~;pY$k3U*vr}051Testing软件测试网 J:OO`6bK.n
UPDATE51Testing软件测试网(v;y0}0H$Z
UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions
5lu8n `!R g1O0
.v*e6DV[A me0或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions
-F5Bc6@)uv051Testing软件测试网De7U"re;y
更新数据语句。51Testing软件测试网rU?\|$w-k(k
51Testing软件测试网s2bld P ?:hqq3Vl
view_name|table_name:表名称或视图表名称51Testing软件测试网VWS.`.XI_j
51Testing软件测试网o.Z9u#X4@!M*g4Rd2K
value_1ist:字段值51Testing软件测试网4^e%k%y Gy&Y
51Testing软件测试网#g)Ajm3P7v:q'@
search_conditions:更新数据的条件
*xPLD&?0
{!]1^$A a1J0例:略
/l_y,[:m#^,?1|W&\0
(C(N] D \ D0CHECK TABLE table-name
Im |CU0检查索引语句。51Testing软件测试网I5^8hvVNG a

W%\!UHY'o0语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。51Testing软件测试网LZ0YTz
51Testing软件测试网&B&C JNP)uIL4^B
例:略
+N)}-V0c'jAo0
zY)Mq8R Q-`"@u0REPAIR TABLE table-name51Testing软件测试网:ZS%]$Q9D|u
修复索引。
1\,oE8SP051Testing软件测试网!?$J?N `&Mcd
语句使用者是表的拥有者或拥有DBA权限;不能对systable使用此语句。51Testing软件测试网!e{U.VJ*\
51Testing软件测试网Am ]'Ry2w
例:略
(vfn \?8ug0
)R;Eo+wH)t:p0LOAD FROM “file-name” INSERT INTO table_name [(column_name[,…])]
4pV{2n&[I^Q0将文本数据栽入表中。51Testing软件测试网9sm4~qCM`A
51Testing软件测试网V Mmt,{3Q cj
例:load form “aa.txt” insert into user;
:T[ v$RX&|4Gwd:H0
3p9xiMn)r0UNLOAD TO “pathname”
y3DL Bpc0将表中数据卸为文本。
*l:BWac,U051Testing软件测试网U@S+s"M D2A4d
例:unload to “aa.txt” select * from user;
q7{zi FLU0
6ax}~l]1k0INFO51Testing软件测试网$V!V/V.F%{3I
系统信息查询。51Testing软件测试网I7OK+h)^Y4Qcy"c^}+A"~
51Testing软件测试网L-^"~r v
INFO TABLES:得到当前数据库上表的名字。51Testing软件测试网-irSQLU'U#|!b k-E
51Testing软件测试网fV\5W:|^&XV
INFO columns FOR table_name:指定表上的字段信息。51Testing软件测试网2z e2Vx@4Pp8h Chj
51Testing软件测试网}Z(`.BF C
INFO INDEXES FOR table_name:指定表上的索引信息。
"s:[Tbk0sS g#G/T0
pvB,{*o-f;m0INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取权限。51Testing软件测试网r8Th Uk3RN@

a u|3H!X9U}R0INFO STATUS FOR table_name:指定表的状态信息。51Testing软件测试网x0wIe8yg_
51Testing软件测试网Xa9t/s)TZ
例: info tables;51Testing软件测试网LAj6na-oS|*n

 

TAG: informix sql DataBase

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar