informix SQL 語句詳解(一)

本文出自: http://go3.163.com/~axiom999/

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”;

2.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); 

1 則回應給 informix SQL 語句詳解(一)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

分類
BlogUpp!