Must know something of everything and everything of something!

Informix SQL语句详解(1)

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

Informix SQL语句详解(1)

51Testing软件测试网[#d do:}h7z.k

1. CREATE DATABASE database_name [WITH LOG IN “pathname”]
E${"z t6p b0
(s:F~f2BO0创建数据库51Testing软件测试网G;I!N|0~Va&|.Y
51Testing软件测试网9yOT6HOY3B1P&fOB
database_name:数据库名称。
PA$Hn ud-m{051Testing软件测试网eY'h a5{
“pathname”:事务处理日志文件。51Testing软件测试网OSJ)Y Ds

9mcJj9@)d)w [Y]0创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用
;zneiO-k9w5Y051Testing软件测试网K3Yv%@|,fol
BEGIN WORK等事务语句(可用START DATABASE语句来改变)。51Testing软件测试网.zu4LTp
51Testing软件测试网7U%I.Gh(y8s8d/A} U.D
可选定当前数据库的日志文件。51Testing软件测试网6^kmKB+Au%v{

g?2au~dm0如:select dirpath form systables where tabtype = “L”;
1j/J#BFT.~&d wx051Testing软件测试网nfSEKk1},Z3D
例:create databse customerdb with log in “/usr/john/log/customer.log”;51Testing软件测试网"U,e6TA1R9PW({ i

(guO.vB;z.Qd051Testing软件测试网?hg ]#x7]OV(X}
51Testing软件测试网 ^ ^;Q RX1{
DATABASE databse-name [EXCLUSIVE]51Testing软件测试网'e {G*G+o
选择数据库。
;spi^7?r7_q&o#k0
JNf^#q0database_name:数据库名称。51Testing软件测试网4b6s0x|F ^h

){p'g4M fH0EXCLUSIVE:独占状态。51Testing软件测试网b&Dn QB
51Testing软件测试网v$g'`2b^6W\
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
Gk&t8wRz[p0
2Or6q*|/_7Q0例:dtabase customerdb;51Testing软件测试网1e}3`1e.s fp

vRU `uM!m0
8Q#`J1a$X4\i051Testing软件测试网Ez7aA~%pS.w
3. CLOSE DATABASE51Testing软件测试网Q)L/p)p2c D6Y k-Y
51Testing软件测试网o6a(h0?h*o%SnJ
关闭当前数据库。
4v\B&fN7?*D8b0
-J*{Z:~0U'W0database_name:数据库名称。51Testing软件测试网cN3s fH g.o(n

q-sfb.W%W0此语句之后,只有下列语句合法:
;q*x7x'H4@!KR8M051Testing软件测试网 IH^zx0o
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;51Testing软件测试网g|GcB7yi$JP
51Testing软件测试网,B-}6j2~0uQ
删除数据库前必须使用此语句。
Y mq)_,E-? WI051Testing软件测试网}M!nC5N8Q0L
例:close database;
AM5?$v|-z^%Rk051Testing软件测试网 q2b'r(K/}J
51Testing软件测试网(CZ*Dm"b#]}

8d A#rn3VJ04. DROP DATABASE database_name
o3X(cZ0Ql0
%^qL@!W_ w0删除指定数据库。51Testing软件测试网Y/y lrQK)ut9e
51Testing软件测试网ZP(~+w8SVTID`
database_name:数据库名称。
7b;h.i^:pVD051Testing软件测试网F"XMH-k X
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
B xV A ^*P0
X)j:z2Ae$W's t0例:drop databse customerdb;
Rc/M Z+_;u G'V)`051Testing软件测试网#`a/i#o1W&O7Zw
51Testing软件测试网9g ]|;sv
51Testing软件测试网HUTd O
5. CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
;m(r)mm3F3j Xc051Testing软件测试网2H!C3e4D6y
[IN “pathname”]
Kn y)L.d H0
Rt+zb/` ~.i\+[0创建表或临时表。51Testing软件测试网-dj\R*t#W)}9i A

NNE(ak1lT0table-name :表名称。51Testing软件测试网{k:fW i&nWxS
51Testing软件测试网7ps'iTh L c6JS;G/]7r5q
column_name:字段名称。51Testing软件测试网%N:LvjY K.Hx
51Testing软件测试网3`6D(a pLo@ m T/q}s
data-type:字段数据类型。51Testing软件测试网O,mH8O ~v7h|6U-G$` N
51Testing软件测试网"k6V(krq`
path-name:指定表的存放位置51Testing软件测试网%ZA3|b!fX

N'R'b#w{(z0TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。
2PdY!GA:x051Testing软件测试网W7H5~m\/c*j0H
例:create table user
A~S xLE:MJh0
.N0T+n1l(EcB~d^0( c0 serial not null, c1 char (10),
*? y&B&{o$a8K0
i Z&B;|Zf0c2 char(2),51Testing软件测试网I]E3f:S-]u/j
51Testing软件测试网"@ap&E Z
c3 smallint,
&t'z7kfq*M)oA4P]*f051Testing软件测试网x9W7~R_l3K%j9S6n
c4 decimal(6,3),51Testing软件测试网QA4jM ]N4d3P

7e3[]R!?${nh3dj1C@0c5 date51Testing软件测试网W:_-KK s

LKAc*Ua w:N3vM0) in “usr/john/customer.dbs/user;
Ovbr(xH TUK.d051Testing软件测试网 S b [dU0?/t
51Testing软件测试网*_K6XK0^5t&J q

S|C3}`1m:G/H2[5Y06. ALTER TABLE51Testing软件测试网4Fj+B)wq*N*U
51Testing软件测试网wJ#s]/s*k
ALTER TABLE table-name51Testing软件测试网}W;Xd X.Bm
51Testing软件测试网)a6h#LtjE9aA
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)51Testing软件测试网!I#x J*Kj!q!o*lt
51Testing软件测试网 }0Z7k(p_(t9R'sQ
| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …51Testing软件测试网'f^"?/wH6{ s

ZG"D"cZ%r0修改表结构。51Testing软件测试网 u M)@CGkU

Fn(sD4na4b0table-name:表名称。51Testing软件测试网qn2{%G#e)S4KQ

F$?.i&SQ)}0newcol_name:新字段名称
)@!v m] f c6E051Testing软件测试网H _Y~[n
newcol_type:新字段类型51Testing软件测试网N.i [2O4Ia?3h X
51Testing软件测试网5Xf&R8` z2S
oldcol_name:老字段名称51Testing软件测试网0]h?$s+Q
51Testing软件测试网5t!B8d]H4pWQ:Z:b8j
可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。
,eMmr r9[:i#}{U^0
-S3fh!G*O6uGM0例:alter table user51Testing软件测试网 i;b7Ty W)V

1ZQ9p)Tr#[0add ( c6 char(20) before c5);51Testing软件测试网:Qx$q$V?$]
51Testing软件测试网j ZG R R9BL
51Testing软件测试网4{6nS0@\4?$e!h
51Testing软件测试网5C C K9Eq-`OI
7. RENAME TABLE oldname TO newname51Testing软件测试网$P)qk+i \Q.W
51Testing软件测试网U\+IL4k1n |
修改表名。51Testing软件测试网#rB&Y;@!x"vP
51Testing软件测试网0z(d*Wj,k
oldname:原名称。
:wkyw)[*i051Testing软件测试网 ux;X_\q RN/{z
newname:新名称。51Testing软件测试网eJ Al/b)v^o3fw,iD
51Testing软件测试网A+qX|-Esc%J
RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。51Testing软件测试网$eV zT? p:A%W.f7W

^^w+~.W W0例:rename user to bbb;
s9l7W-cb m4G&@]?051Testing软件测试网#PFE Li
51Testing软件测试网q0@.W9c [:H(T"y

@$u qi*M Rig7u#@08. DROP TABLE table-name51Testing软件测试网qza L6])XZ}
51Testing软件测试网DT6U(E sM;G]
删除表。
4izS&P-L6MCbgs/X0
-TKS"b YO:Uw J0table-name:表名称。51Testing软件测试网@Q6m*_9gAR`yxf.x

4{ R'L_&w{CM0删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。
vf!Nr9xv0
| H2@_%YDSj0
i.W}P'k7~051Testing软件测试网Z9Ow RFu-uDC{
9. RENAME COLUMN table.oldcolumn, TO newcolumn
k(S6nE'W+mLdZG]051Testing软件测试网7{4qP+H9~ ~
修改字段名。
o%trx8|u0
ic s,V M*}%F)j0table.oldcolumn:表名及原字段名称
Z5yY/x&c(D5H!D!rd0
l2J5?X5yb0newcolumn:新字段名称。
7IS3k \9_2z] Yh8d0
w"ioO VN7D:WV0语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。51Testing软件测试网:f4_D%Tb5yD9Q(N
51Testing软件测试网#U7G-E3G|8W)_-?
例:rename column user.c6 to c7;51Testing软件测试网aYj2Wg G
51Testing软件测试网ime5I$A!wa#G
51Testing软件测试网i_;c Fc1QX

|F0D*t `!h.xZg010. CREATE VIEW view-name column-list
1efUbOW8xQ6p6e0
0~T:[{L#xhM0CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]51Testing软件测试网6v'F$o%yBW.o6Fz

+q$~'[w!QMp/z9h/W)KQ0创建视图。
6I(Ws.\&Np%G8^&J_0
/u Z$V)waJ0view-name:视图名称。
Y5Dw1\/['kF#ik!@ K%f051Testing软件测试网!Oz/ET T{Q-U3Q
column-list:字段列表。
:_3yId/D2q_Z051Testing软件测试网9cX4d ~.h w;g!L
select_statement:SELECT语句。
e,W%h-Hs ~051Testing软件测试网9h P H:zH0TQ
以下语句不使用视图:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BY和UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。
L!}WnMD0
8CU.T _'Q j^ rw0例:create view v_user as select * from user where c1 = “B1”;51Testing软件测试网1YT%h wf[W
51Testing软件测试网P*Ke3}6t bST3Bdw

Z6F)x?#tP0
#P3E/m V1kDy011. DROP VIEW view-name51Testing软件测试网"EFi `!e F.Z2C

y fomH$nZ"P0删除视图。
C^;g(I&SB6A0
mT5M&_V cRIwV*C0view-name:视图名称。
P _]W5P.j"s0
!?/a)D}5Hd%}O)t0用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。
7F @Go MIOX/be051Testing软件测试网U|O2@ U3W}
例:drop view v_user;51Testing软件测试网|+W _Hf!^%@5yv7X

U(v;J/j"V:R0
9a.~;X;m1|0
-YR(}9w9q#i[012. CREATE INDEX
QI2Co@E5BO0
Z/_2[w8| ]0CREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name51Testing软件测试网j8j0R G!@ n

3F8B:ALIMZ0([column_name ASC/DESC],…)
]4_(taO7QYz051Testing软件测试网CHC*{-N!u}
创建索引。51Testing软件测试网U_y&W]-n;P!}g

l IC)sS,SN/J0|S0index_name:索引名称。51Testing软件测试网'MK+n0Rx h.|*]
51Testing软件测试网3h]4P5}7\Qs
table_name:表名称。
F&Gf$w&\aR``051Testing软件测试网%W S)^ ^/L%@
column_name:字段名称。
2{j8@\~%i051Testing软件测试网 Q!n*D0[;j#@aj"J
UNIQUE/DISTINCT:唯一索引。51Testing软件测试网on:p&_:Oh
51Testing软件测试网s~"nB'W(m3E
CLUSTER:使表的物理存放顺序按索引排列。51Testing软件测试网K'N*X,V${5JXg
51Testing软件测试网-N-a'yiU2H$N
ASC/DESC:升序或降序,缺省升序。
i2\kU&Y_"Q1D^:e0
A8K.V ?VP/T ui0语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。51Testing软件测试网$c|&W2c`c

3[Z!t;]~ b@u0例:create cluster index ix_user on user(c5);
kBH Hyg)p0
9Y,VA(g&tU051Testing软件测试网Ap*[8Q9RZ
51Testing软件测试网,B` |g6K#{Wa/m
13. ALTER INDEX index-name TO [NOT] CLUSTER
N*Pa0I }*H `051Testing软件测试网G]wY^&]A9L:z
修改索引性质。51Testing软件测试网'u]C-YE-w1S

,F#N1m/a]+t I0index-name:索引名称。51Testing软件测试网v;g;~E&A(il)}
51Testing软件测试网x vrj d_k
TO [NOT] CLUSTER:去掉或加上CLUSTER属性。51Testing软件测试网bzP/Xv
51Testing软件测试网IT;P@F`0d;b
语句执行时,将表的状态置为EXCLUSIVE;事务中处理过程中使用此语句,即使事务回滚,索引性质将改变,不能恢复。
x"H w3L9r:YPxO0
(H`r[`_lm0例:alter index ix_user to not cluster;51Testing软件测试网o#VJ9v%oc5X(D8O&k t[
51Testing软件测试网#oZc5{f)PI

qr"d U/w Xsl051Testing软件测试网_ ^L-})C:B'|4y
14. DROP INDEX index-name
2MJ1P9uqr051Testing软件测试网[ Yg`X gX }$Hh
删除索引。51Testing软件测试网7K'w3t2m1{o v hj
51Testing软件测试网i1yo,Z4hC,Cb
index-name:索引名称。51Testing软件测试网T%{ |)yZ
51Testing软件测试网5w"_T M$})M0a
语句使用者是索引的拥有者或拥有DBA权限,事务中处理过程中不要使用此语句,否则事务无法恢复。51Testing软件测试网K%c#|h6nW0Uh7H
51Testing软件测试网2l0o dM;NNm9JT
例:drop index ix_user;
]kDbi,n p}0
DM-r aU4s0
a.V7@9^P S$i051Testing软件测试网#|Dy2X%d
15. CREATE SYNONYM synonym FOR table-name51Testing软件测试网{mu^z:a.`3b^

Z;P:xpL)h0创建同义名。
#BFdzLQ4a0
5QCef\,k0synonym:同义名
6x*K d!BY1h@'S051Testing软件测试网 pE+N%a4RtAR.I
table-name:表名称51Testing软件测试网e~9tN]:X

QZ~?5x.X0数据库的创建者可以使用同义名;没有赋予同义名权限的用户不能使用同义名;同义名不能和表名相同;事务中处理过程中不要使用此语句。
9h$_V/C2Mq&V0v0
3K@'T"eT c`0例:create synonym user_alias for user;
k#n+u7x2A!L/Pv9v051Testing软件测试网Ly fYetID

p&p0TD.u"{4N051Testing软件测试网7VO T cS-^f
16. DROP SYNONYM synonym51Testing软件测试网 L IK7Wa
51Testing软件测试网JO e"P|G
删除同义名。
L1K8D3IG0
w,jCcUDQ0synonym:同义名
iY8]8{,tjK1{!S+Z B051Testing软件测试网uz1frn.[ @
可以删除自己建立的同义名;事务中处理过程中不要使用此语句,否则无法恢复。
!l7s8Spy0fC f({UTT051Testing软件测试网l*u-ott$\cg3U
例:drop synonym user_alias;51Testing软件测试网q$M*s9bA{B

-L9p4xM^ w!H$B051Testing软件测试网:n {q HeP

(kW:^+tz,N}T{mv017. UPDATE STATISTICS [FOR TABLE table-name]
#b:A1V Tt VUg051Testing软件测试网a;c2Y4_K-r {
更新数据库的统计数字。51Testing软件测试网MnrsQ0cI#x J(I

K+gg*VbM0table-name:表名称51Testing软件测试网 P(OG2t8mpX$p)W

|M}]kB0此语句仅作用于当前数据库;可提高查询效率;只有执行此语句,才改变统计数据。51Testing软件测试网}T"VK ]%Z1_0AL
51Testing软件测试网/J@;Nv'] g&J#Vi
例:update statistics for table user;

6hYK~ uup!q*n \0

TAG: informix sql DataBase

 

评分:0

我来说两句

日历

« 2024-04-14  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar