< >【主要SQL语句详解】 </P>< > CREATE DATABASE database_name [WITH LOG IN “pathname”] </P>< >% i; \5 E H- y6 S& r
创建数据库。 </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
% F# R R. `' L! V4 O2 n: Q “/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& R1 }0 o* Z# B 关闭当前数据库。 </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>$ F5 t5 K# Q! L9 J4 ?
删除指定数据库。 </P><P> database_name:数据库名称。 ( [1 V% [ q1 u# e
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK ! K5 i8 g8 X O6 Y. L4 ?' Y+ I9 {
WORK 也不可将数据库恢复。 </P><P> 例:drop databse customerdb; </P><P> CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) </P><P>
1 B( j ]4 W* C; p [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>
4 F$ p( ?7 p7 ]4 g( Q 例: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>
9 _' o1 L. d- ?0 ? ALTER TABLE table-name </P><P> {ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP & t; t/ P, F1 O- k( S" Q/ g* 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 , \* c3 `4 j& ^* O
NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 </P><P>5 U; V# W. H* S( h$ {5 D5 E* N) K
例:alter table user </P><P> add ( c6 char(20) before c5); </P><P> RENAME TABLE oldname TO newname </P><P>
9 f9 P3 Z8 ~% [" K$ y 修改表名。 </P><P> oldname:原名称。 </P><P> newname:新名称。 </P><P> RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。 例:rename user to bbb; </P><P> DROP TABLE table-name </P><P>
% u. {) `! N5 K, ~# t 删除表。 </P><P> table-name:表名称。 </P><P> 删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。 </P><P>. Q+ x+ L' i# D$ D3 U
RENAME COLUMN table.oldcolumn, TO newcolumn </P><P>8 U9 P! D4 s$ K; r5 e3 W3 O( l% N
修改字段名。 </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>
8 K! Y9 M5 ]; f. o# [ f3 c CREATE VIEW view-name column-list AS select_statement [WITH CHECK 2 U& p. |. u' V; X( u- {
OPTION] </P> |