1. CREATE DATABASE database_name [WITH LOG IN “pathname”]
创建数据库。
database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一 database_name.dbs 目录,存取权限由 GRANT 设定,无日志文件就不能使用
BEGIN WORK 等事务语句(可用 START DATABASE 语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form systables where tabtype = “L”;
例:create databse customerdb with log in “/usr/john/log/customer.log”;
DATABASE databse-name [EXCLUSIVE]
选择数据库。
database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和 DBPATH 中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;
3. CLOSE DATABASE
关闭当前数据库。
database_name:数据库名称。
此语句之后,只有下列语句合法:
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;
删除数据库前必须使用此语句。
例:close database;
4. DROP DATABASE database_name
删除指定数据库。
database_name:数据库名称。
用户是 DBA 或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过 ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;
5. CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
[IN “pathname”]
创建表或临时表。
table-name :表名称。
column_name:字段名称。
data-type:字段数据类型。
path-name:指定表的存放位置
TEMP 用于指定建立临时表;表名要唯一,字段要唯一;有 CONNECT 权限的用户可建立临时表;创建的表缺省允许 CONNECT 用户存取,但不可以 ALTER。
例:create table user
( c0 serial not null, c1 char (10),c2 char(2),c3 smallint, c4 decimal(6,3),c5 date ) in “usr/john/customer.dbs/user;
6. ALTER TABLE
ALTER TABLE table-name{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …
修改表结构。
table-name:表名称。
newcol_name:新字段名称
newcol_type:新字段类型
oldcol_name:老字段名称
可以使用单个或多个 ADD 子句、DROP 子句、MODIFY 子句,但某个字句失败,操作即中止;原字段是NULL,不允许 MODIFY为 NOT NULL,除非所有 NULL 字段中均非空,反之可以;ALTER 使用者是表的拥有者或拥有 DBA 权限,或被授权;事务中处理过程中不要使用此语句。
例:alter table user
add ( c6 char(20) before c5);