Must know something of everything and everything of something!

Informix SQL语句详解(1)

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

Informix SQL语句详解(1)

51Testing软件测试网.}u~3MD)v*b

1. CREATE DATABASE database_name [WITH LOG IN “pathname”]
`KPed E,Ety L0
K"e([1Ua.] lB0创建数据库
V rjn,t+a#u&?8f)]051Testing软件测试网q gyD ik,e5pj'j2rz
database_name:数据库名称。51Testing软件测试网 lP bOV8Trf;fd
51Testing软件测试网5t8T1\V PE
“pathname”:事务处理日志文件。51Testing软件测试网Q:X#i,F0BE(J

)|aV)h7H2W D0创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用
p9[N"|;Y;w0
j\1W)E3~|0BEGIN WORK等事务语句(可用START DATABASE语句来改变)。
#y/~4N/K!go(O&s ~T051Testing软件测试网Mog[ ex!Y
可选定当前数据库的日志文件。51Testing软件测试网6h'Y }B3z;zn MB

3I#g/xBw$fi5a&Q0如:select dirpath form systables where tabtype = “L”;
L5e@O^3J,~3_$E051Testing软件测试网0EFdO ZK4n+g
例:create databse customerdb with log in “/usr/john/log/customer.log”;
t8P%eH]Y$s;c_P051Testing软件测试网)pG}8c pEp
51Testing软件测试网DRUu IedRC
51Testing软件测试网%pxx%dX E!b
DATABASE databse-name [EXCLUSIVE]51Testing软件测试网G;qB'l4^-~
选择数据库。
Y d yTs0
tM'X|;nN Y0database_name:数据库名称。51Testing软件测试网 yRj:g#pR.dF
51Testing软件测试网hj{ Ov-h
EXCLUSIVE:独占状态。
%OR'j9s {'gV TV0
g&kw9S1Vt/@0存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
kV ?d%v&P051Testing软件测试网0y@ m,j/OZ C z
例:dtabase customerdb;
}T;jh~X]0
?FI Y*I5?z-J0
"jv n4xb$I9~S0
'b&]3fC!Vp03. CLOSE DATABASE
7k&r+I a%f`~iY?+~051Testing软件测试网2RvJ#~V G(P
关闭当前数据库。51Testing软件测试网3`?!K[$ZB]P1y
51Testing软件测试网|;Xv]7N6V0v lZ
database_name:数据库名称。51Testing软件测试网%p5J[8~_J

"_x1h z*fe-J0此语句之后,只有下列语句合法:51Testing软件测试网y6X\7{8Z8Y bM$M:T

Y9?]p,y5a0CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;51Testing软件测试网O+z'n;SN#V1F
51Testing软件测试网'PnybPf
删除数据库前必须使用此语句。51Testing软件测试网4q/`%[%}j9w'u
51Testing软件测试网,k8Rm{Q(T,W3TM
例:close database;
`le s1wW.[ot0
2TG{4M5NL(\e!S\wz0
*u u^c ])n IQ0
v&Xb/@4wo04. DROP DATABASE database_name51Testing软件测试网*uvF}S~.^ qt

~4?5[|4ma0删除指定数据库。
!s-v;i#g$?6vmf[0
E,~b fi"X#v6n`"jS6v0database_name:数据库名称。
f8k)s K#A@!Cl0
1FN*P?d&v0用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。51Testing软件测试网/N2]b$N!A"y"\ y.y
51Testing软件测试网|#iLkT)^
例:drop databse customerdb;
DL MF7@ ?051Testing软件测试网 k3z[N#JK:k&qX+W

YC2ozyL4ZT:f051Testing软件测试网 s[i t&Fy4@V`
5. CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
!uH Z,K1C7g8}051Testing软件测试网8`f I:g1k
[IN “pathname”]51Testing软件测试网w){oX5D6s
51Testing软件测试网n7v,A7YAyehwU
创建表或临时表。
#KW$z8F7a7DY0
4C^$[z+A*F3w%DC0table-name :表名称。51Testing软件测试网 J(o`P~%fTT
51Testing软件测试网8]%Hnv5d#m
column_name:字段名称。51Testing软件测试网2o'sW)u&N:a

mpCQP%S8X0data-type:字段数据类型。
7fGL@8h-_0
l-I|7t"aP;P!q0path-name:指定表的存放位置
0` h1Xc"Mu6sb)eI051Testing软件测试网sb J$TM!m&u&L&G
TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。
U"XA3YN:@N_+n3a051Testing软件测试网n&\H8kSD,]
例:create table user51Testing软件测试网r$s/P(JUPM?
51Testing软件测试网C_t"_ ]syAS
( c0 serial not null, c1 char (10),
)p7Tku(Z bAt2q051Testing软件测试网4G{5R|OmT PH
c2 char(2),51Testing软件测试网sdo5L P{MS2F
51Testing软件测试网 I@.T'TF
c3 smallint,
m_7B8~;vVb1q6?u051Testing软件测试网Eal]J_k
c4 decimal(6,3),
;~&HwT6c4x0
+o2u4f6if]2e0c5 date
#uUq2x2ph051Testing软件测试网+MN-`C6Q oM|Z{u
) in “usr/john/customer.dbs/user;
T*ZZhJ#c'zJ051Testing软件测试网L e(yEt*o
51Testing软件测试网3L,fI].?;Q
51Testing软件测试网)k8S#_[)I0L3N:B
6. ALTER TABLE51Testing软件测试网,FrCC8~

x dj0w z0c"pQVY0ALTER TABLE table-name
H9^Q(a*e7GZ6Df{.l051Testing软件测试网u9M.j6LpX2q!bV
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)
1Z#H/E8w-Lj051Testing软件测试网0U'IF \9RN%K[
| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …
{6g1Yw8WFu0
&_7Z|6Lq3L\0修改表结构。51Testing软件测试网K[X3p"U^D]
51Testing软件测试网'S ~ R ?p8f~F
table-name:表名称。
jY@6N%o-[1L/O5}8m_051Testing软件测试网 \"{D Im
newcol_name:新字段名称51Testing软件测试网9CE ^%s`(x

9xV#Ao _0newcol_type:新字段类型51Testing软件测试网W\&R6VM-}E2a

1u"A{~2a&}?i0oldcol_name:老字段名称
/D,?4p L~a:FJ }!k6L051Testing软件测试网&HwdGw)E
可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。
5y4YY#r.Gl1zX0
C0T)V7bst0s0例:alter table user51Testing软件测试网?M0p+m t Lb(^9W
51Testing软件测试网T"h%D+[H
add ( c6 char(20) before c5);
X]cJlg-u{ `b0
&p%XF?-^051Testing软件测试网A T){uJ
51Testing软件测试网d1N`VTX
7. RENAME TABLE oldname TO newname
%V4St!WGT T0
K,yr6[tiE0修改表名。51Testing软件测试网-Isn(WN4Ii'cS ]

\ K`KK;V)kP6r&v0oldname:原名称。51Testing软件测试网.J'fF(q"b)q
51Testing软件测试网WY3tQ4M$C\
newname:新名称。51Testing软件测试网P7li9~&]/u

"mgE%T(M&A0RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。51Testing软件测试网N;N7X7e)V%L:uM&l
51Testing软件测试网\Da_3la E9V)?-e
例:rename user to bbb;
8I5?IK;~)k ip051Testing软件测试网 \-Ds0j0bqn7E*o
51Testing软件测试网#i(U sJx5SD

L A:j b.Sg08. DROP TABLE table-name
M8H_/y QRX0
"hwE8uu0删除表。51Testing软件测试网k^:v%nlE

A4H$@.ulV0table-name:表名称。
$m}5b!p4kF&R!W0
ImD4?i|0删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。51Testing软件测试网3P Gx#|/|7b[

5?!Dv { ^$y4B,z0
V3{j2\T-Xf051Testing软件测试网8Cj-n nB!Q&f7h
9. RENAME COLUMN table.oldcolumn, TO newcolumn
h^ io T'B"r_051Testing软件测试网Q&|9t4H7ym+V
修改字段名。51Testing软件测试网w~3{7YH4O,H
51Testing软件测试网)eX-M*HPr3yM
table.oldcolumn:表名及原字段名称51Testing软件测试网6P]EE1rom
51Testing软件测试网s3`^a\$N
newcolumn:新字段名称。
\f"O"I/rb:}6T8B051Testing软件测试网-B YG(Lt6hq4eS-tR
语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。51Testing软件测试网mPIqZO)CX
51Testing软件测试网w4d J%__-DrD
例:rename column user.c6 to c7;51Testing软件测试网0gx4t6b3t0X
51Testing软件测试网'Hx_.KAEf

r}U1B`b i]"L6i0
%R%r8e$U` m$TUAu}010. CREATE VIEW view-name column-list
b)m5Y? _V;I f0
Kn9k4LR0O:E-Y0CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]51Testing软件测试网qs+U0I @3f N
51Testing软件测试网#Mmo VPAdo`)e3Ii
创建视图。51Testing软件测试网G E$n8Ba2A

7`:TqLm-E7W0view-name:视图名称。51Testing软件测试网 J w![H7h)b3`5I l
51Testing软件测试网&E.[.aa/]7k us&_
column-list:字段列表。
sM7dd b"S%A0
q:RKS-kL2]4@ o/S0select_statement:SELECT语句。
E\/k!w/q051Testing软件测试网A!Bd^aj ^b&@s)uC
以下语句不使用视图:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BY和UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。
J)X#iUty%A#O y0
q-]L$ap6M0j]a0例:create view v_user as select * from user where c1 = “B1”;
!Cd8Vu9]7Y3o e0
Q%] R:BTN3Z%mt/k051Testing软件测试网6Z;]3N^n+P/@u
51Testing软件测试网M$nGV cF1H?
11. DROP VIEW view-name51Testing软件测试网2g X~0V [l

*v*u*EHy0删除视图。
2P{@1XT8y(YBM0
A0K^P'G[1u0mU0view-name:视图名称。
DN_ x[5gr&SL051Testing软件测试网9Kp^ C+T7Bu
用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。51Testing软件测试网\s%C#Pk8G nC D

*EJV:H!e-`{0例:drop view v_user;51Testing软件测试网 CGT7AU*R}z#~/u

3JjMzkEQp_U051Testing软件测试网.v$i7udK8[C!ti

-I ~M ~?{0K012. CREATE INDEX
)HS3r{1zJ8m`iE051Testing软件测试网8m#CiiU1_Y
CREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name51Testing软件测试网^!A"S M,w@

zOi7wz5gJO:vh0([column_name ASC/DESC],…)51Testing软件测试网fOU!jQ(dRwxs
51Testing软件测试网HL6}.Ym?Z|
创建索引。
7DK#a0l1CN?e A2a6k051Testing软件测试网D+`Hs/xfj)P]6C%x
index_name:索引名称。51Testing软件测试网7OX8E4R)heZ-H2p
51Testing软件测试网2H$E7I U(pF#ef T[
table_name:表名称。51Testing软件测试网;A1x Xyw-q$Ur

r,yv7g*~8ab0column_name:字段名称。51Testing软件测试网2k0t,IG5Y8jb

FfT`eOG n/c0UNIQUE/DISTINCT:唯一索引。
4D&K{x"i3O C8i/Ed&{051Testing软件测试网w[:c%EgB8CI3[-r3@
CLUSTER:使表的物理存放顺序按索引排列。
6S-n)UI+j0
3c+M4q"sZGi0ASC/DESC:升序或降序,缺省升序。51Testing软件测试网&@ G,a%ZS,?8N$O$r
51Testing软件测试网3G$V f;o%vXM%?Tc*D E
语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。
@w;b5s9Nqg0
&]:zk kS{6mb$}0例:create cluster index ix_user on user(c5);
#T,RO0I$]B0
q*AQ:~|I,qx051Testing软件测试网:b5XLW#@)Ny

/bV)Je5o+U/J013. ALTER INDEX index-name TO [NOT] CLUSTER51Testing软件测试网/Y5sa;Rc

%w9vi8D#C0修改索引性质。
{W:sx/soR051Testing软件测试网F6h8VR_
index-name:索引名称。
Q'oS*W_0
sD1iVI9t%` k0TO [NOT] CLUSTER:去掉或加上CLUSTER属性。51Testing软件测试网*B)C&H.oZd^6]dOX
51Testing软件测试网)y3|w]SbK
语句执行时,将表的状态置为EXCLUSIVE;事务中处理过程中使用此语句,即使事务回滚,索引性质将改变,不能恢复。51Testing软件测试网7yKb5Qe:s.D%U

D w6M-huXZp_%s0例:alter index ix_user to not cluster;51Testing软件测试网Ms[~qz
51Testing软件测试网3JUqA+OM,H m
51Testing软件测试网g,i(M3E5n ?oZn^j
51Testing软件测试网m'n4wF\.M'a9jw
14. DROP INDEX index-name51Testing软件测试网5Z'N\ r:~8r;D
51Testing软件测试网/p#`8R? @ RT(~)mA6r
删除索引。
!J`K~*NN k/u"k'h0
;i.^&lB`2iJ0index-name:索引名称。51Testing软件测试网vk L["t%W
51Testing软件测试网;C;\ p2E0K/Ut
语句使用者是索引的拥有者或拥有DBA权限,事务中处理过程中不要使用此语句,否则事务无法恢复。51Testing软件测试网t:~[JH!F

K;tq+f+{ k*Z0例:drop index ix_user;
v J5\(Qwo h051Testing软件测试网{ @(}%@sE@
51Testing软件测试网-\?![-T!K}
51Testing软件测试网V'Oc Y:T;Qe T{ O%d
15. CREATE SYNONYM synonym FOR table-name51Testing软件测试网 k;rf~ Cn!@:{
51Testing软件测试网$w4B2bo#t&T
创建同义名。
6O3MI)t9\ ymZ%p0
o3Ab-\;|;Z0synonym:同义名
bz}8U Mr-G1w051Testing软件测试网;_;MB^ u Mkx
table-name:表名称51Testing软件测试网K D5@W![z7^6q

'}K"c/f:v5w#xN|;S0数据库的创建者可以使用同义名;没有赋予同义名权限的用户不能使用同义名;同义名不能和表名相同;事务中处理过程中不要使用此语句。51Testing软件测试网-?9B"W)G ^&X)@\'h
51Testing软件测试网 N k ]X$O;U4G
例:create synonym user_alias for user;
V-z O;xU'x051Testing软件测试网$x{:klMv{h
51Testing软件测试网a*n$x2oz,aVi
51Testing软件测试网-ci? F7G-}1_0N
16. DROP SYNONYM synonym
*h*? Y%V LB(U"w9qW051Testing软件测试网+i1}iaM;H5n%U+ny t
删除同义名。51Testing软件测试网 xK5j Ek'`(W&E
51Testing软件测试网 z-o8Kp@w ~
synonym:同义名
}KB;ETP4A.]051Testing软件测试网\n!| ]Y+N
可以删除自己建立的同义名;事务中处理过程中不要使用此语句,否则无法恢复。
:`|1c'? y0E0
7Phm:Z'e;n_,I!Bz0例:drop synonym user_alias;
Se!i'wjw]4A0
j)y GI4Z/V2uR&` M\051Testing软件测试网!JG?'{F6W
51Testing软件测试网lRn,Q%i
17. UPDATE STATISTICS [FOR TABLE table-name]
_&h} hVt7@e{8N051Testing软件测试网 LF*],t1U{pW
更新数据库的统计数字。
0s){5T1b,kI051Testing软件测试网*?ZJ1~m
table-name:表名称
WU[9F s3a0
m2M0f"G^6T8Xs*i0此语句仅作用于当前数据库;可提高查询效率;只有执行此语句,才改变统计数据。
{L5a#l_J6a*k051Testing软件测试网4wA$@,Uy1Y#yV(@
例:update statistics for table user;

dD9F{;G]0

TAG: informix sql DataBase

 

评分:0

我来说两句

显示全部

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

日历

« 2020-06-16  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar