例1:
CREATE TABLE ORDERS
(ORDER_NUM INTEGER
UNIQUE CONSTRAINT ORDER_NUM_UQ,
ORDER_DATE DATE
NOT NULL CONSTRAINT ORDER_DATE_NN
DEFAULT TODAY );
例2:
CREATE TABLE CUSTOMER (
CUSTOMER_NUM SERIAL,
FNAME CHAR(20),
PRIMARY KEY (CUSTOMER_NUM)
CONSTRAINT PK_CNUM
);
CREATE TABLE ORDERS (
ORDER_NUM SERIAL,
CUSTOMER_NUM INTEGER,
FOREIGN KEY (CUSTOMER_NUM)
REFERENCES CUSTOMER
CONSTRAINT FK_CNUM
);
数据类型:字符型(CHAR(20)), VARCHAR(MINSIZE, MAXSIZE)
数值型(六种,DECIMAL(16,2),SMALLINT,INTEGER,SMALLFLOAT,FLOAT,SERIAL )
日期型( DATE, 默认格式为:MM/DD/YYYY )
注:要修改DATE类型的缺省格式, 只要在用户主目录的.profile文件中做如下说明: DBDATE=Y4MD/ EXPORT DBDATE
货币型(MONEY (8,2))
其它(如:INTERVAL,DATETIME 等)
建立索引(必须建立命名索引)
CREATE [ UNIQUE ] INDEX 索引名 ON 表名(字段名)
CREATE [ UNIQUE ] INDEX 索引名 ON 表名(字段名) DISABLED;
SET INDEXES 索引名 ENABLED
DROP INDEX 索引名
数据库权限
CONNECT: 访问数据库
RESOURCE: 允许用户建立或清除数据库中的表和索引
DBA: 数据库管理员,所有权限,一般建表者即为DBA
GRANT 权限 TO 〈PUBLIC | 用户名〉
REVOKE 权限 FROM 〈PUBLIC | 用户名〉
检索数据库
DATABASE 数据库名
SELECT * FROM 表名
SELECT 字段名 ,字段名 FROM 表名
SELECT 字段名 ,字段名+-*/ 新字段名 FROM 表名
SEKECT AVG(字段) ,MIN(),MAX(),SUM(),COUNT() FROM 表名
WHERE 子句 = 〈〉 != < <= > >=
MATCHES * 0—多个 ? 单个 [ ] 单个字符或一个范围 \ 转义下一个字符
LIKE %:0--多个 _ 单个 \ 转义下一个特殊字符
ORDER BY (DESC)
时间函数: DAY MDY MONTH WEEKDAY YEAR DATE CURRENT
其它函数: LENGTH USER CURRENT TODAY
从多个表中查找, SELECT 嵌套
字段名不同可直接写出,若不同表中有相同字段名,则前缀表名
SELECT 表一.字段名 FROM 表一, 表二
向表中插入数据
INSERT INTO表名 [ 列1, 列2。。。。] VALUES [ ]
修改
UPDATE 表名 SET 字段名= WHERE
删除
DELETE FROM 表名 WHERE
修改表的结构
例1:
ALTER TABLE表名
DROP COL2 ,
MODIFY COL1 INTEGER NOT NULL ,
ADD COL4 INTEGER ,
ADD COL3 CHAR(20) BEFORE COL4;
例2:
ALTER TABLE ORDERS
MODIFY NEXT SIZE 300;
改名:
RENAME COLUMN TABLE。COL TO NEWCOL_NAME
RENAME TABLE TABLE_NAME TO NEWTABLE_NAME
RENAME DATABASE DATABASE_NAME TO NEWDATABASE_NAME
删除:
DROP TABLE TABLE_NAME
DROP DATABASE DATABASE_NAME
更多内容请看PCdog.com--informix基础专题
