< >【主要SQL语句详解】 </P>< > CREATE DATABASE database_name [WITH LOG IN “pathname”] </P>< >. R- e/ |! `( p3 P& c
创建数据库。 </P>< > database_name:数据库名称。 </P>< > “pathname”:事务处理日志文件。 </P>< > 创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用 </P>< > BEGIN WORK等事务语句(可用START DATABASE语句来改变)。 </P>< > 可选定当前数据库的日志文件。 </P>< > 如:select dirpath form systables where tabtype = “L”; </P>< > 例:create databse customerdb with log in , A/ I v- ^. ` H4 E) ?& u8 W
“/usr/john/log/customer.log”; </P><P> DATABASE databse-name [EXCLUSIVE] </P><P> 选择数据库。 </P><P> database_name:数据库名称。 </P><P> EXCLUSIVE:独占状态。 </P><P> 存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。 </P><P> 例:dtabase customerdb; </P><P> CLOSE DATABASE </P><P>- h# n4 i- W. j: r
关闭当前数据库。 </P><P> database_name:数据库名称。 </P><P> 此语句之后,只有下列语句合法: </P><P> CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE; </P><P> 删除数据库前必须使用此语句。 </P><P> 例:close database; </P><P> DROP DATABASE database_name </P><P>2 q0 h0 y. i A$ j0 `& r
删除指定数据库。 </P><P> database_name:数据库名称。
3 r& l+ ?7 N9 m' S i 用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK " o# o0 r( R! a9 A
WORK 也不可将数据库恢复。 </P><P> 例:drop databse customerdb; </P><P> CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) </P><P>
9 k; q' s' U2 t0 P: O; q [IN “pathname”] </P><P> 创建表或临时表。 </P><P> table-name :表名称。 </P><P> column_name:字段名称。 </P><P> data-type:字段数据类型。 </P><P> path-name:指定表的存放位置 </P><P> TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。 </P><P>
. E& N/ {( A6 C3 W; C% ?! | 例:create table user </P><P> ( c0 serial not null, c1 char (10), </P><P> c2 char(2), </P><P> c3 smallint, </P><P> c4 decimal(6,3), </P><P> c5 date </P><P> ) in “usr/john/customer.dbs/user; </P><P> ALTER TABLE </P><P>
' l% ~% Q o! ~ ALTER TABLE table-name </P><P> {ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP 2 }; n7 l8 o+ G/ |
(oldcol_name, …) </P><P> | MODIFY (oldcol_name newcol_type [NOT NULL], … )}, … </P><P> 修改表结构。 </P><P> table-name:表名称。 </P><P> newcol_name:新字段名称 </P><P> newcol_type:新字段类型 </P><P> oldcol_name:老字段名称 </P><P> 可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT " n& Y* u, `+ r* l- s
NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 </P><P>
0 L. _5 ], r+ e3 i+ b9 T 例:alter table user </P><P> add ( c6 char(20) before c5); </P><P> RENAME TABLE oldname TO newname </P><P>3 Z y: H. ~$ j$ L% k. `' e0 ?
修改表名。 </P><P> oldname:原名称。 </P><P> newname:新名称。 </P><P> RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 例:rename user to bbb; </P><P> DROP TABLE table-name </P><P>
1 G; k# L$ B+ g/ Y i4 D 删除表。 </P><P> table-name:表名称。 </P><P> 删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。 </P><P>
2 D+ z' n8 X" O- J RENAME COLUMN table.oldcolumn, TO newcolumn </P><P>
9 v: s- G( n7 _- o 修改字段名。 </P><P> table.oldcolumn:表名及原字段名称 </P><P> newcolumn:新字段名称。 </P><P> 语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。 </P><P> 例:rename column user.c6 to c7; </P><P> CREATE VIEW view-name column-list </P><P>0 q7 R4 f! j. m1 T2 x8 `- g2 S- x5 S
CREATE VIEW view-name column-list AS select_statement [WITH CHECK & J( o! F4 `4 V! T7 w
OPTION] </P> |