informix创建表和数据库的语句(转)
⼀、简介:
1)、INFORMIX主要产品分为三⼤部分:
数据库服务器(数据库核⼼)
应⽤开发⼯具
⽹络数据库互联产品
2)、数据库服务器有两种,作⽤都是提供数据操作和管理:
SE:完全基于UNIX操作系统,主要针对⾮多媒体的较少⽤户数的应⽤
ONLINE:针对⼤量⽤户的联机事务处理和多媒体应⽤环境
3)、应⽤开发⼯具是⽤以开发应⽤程序必要的环境和⼯具,主要也有两个系列:
4GL:INFORMIX传统的基于字符界⾯的开发⼯具,该系列的主要产品有五个,他们是I-SQL、4GL RDS
、4GL C COMPILER、4GL ID和ESQL/C; NewEra:INFORMIX最新提供的具有事件驱动能⼒、⾯向对象的基于各种图形界⾯的开发⼯具。
4)、INFORMIX的⽹络数据库互联产品:提供给⽤户基于多种⼯业标准的应⽤程序接⼝,通过它可以和其它遵守这些⼯业标准的数据库联接。
⼆、I-SQL菜单简介:
Form 可以执⾏、创建、修改、编译屏幕格式或删除已存在的屏幕格式
Run 执⾏某⼀已经存在的屏幕格式
Modify 修改指定的已经存在的屏幕格式
Generate 为指定的表创建⼀个缺省的屏幕格式
Compile 编译⼀个制定的屏幕格式
New 创建特定的⽤户屏幕格式
Drop 删除某已经存在的格式⽂件
Exit 退出Form菜单
Report 可以执⾏、建⽴、修改、编译、或删除报表
Run 执⾏某⼀报表
Modify 修改指定的报表
Generate 为某⼀个表建⽴⼀个缺省的报表
New 建⽴⼀个⽤户指定的报表
Compile 编译指定的报表
Drop 删除⼀个指定的已经存在的报表
Exit 退出Report菜单
Query-Language 详见实⽤程序说明:dbaccess
User-menu 可以执⾏、建⽴或修改⽤户建⽴的菜单
Run 执⾏当前数据库的⽤户菜单
Modify 允许⽤户建⽴或修改⽤户菜单
Exit 退出User-menu菜单
Database 详见实⽤程序说明:dbaccess
Table 详见实⽤程序说明:dbaccess
Exit 退出实⽤程序isqlrf(或isql)
三、常⽤操作:
创建数据库
ISQL==》DATABASE==》CREATE==》输⼊新建数据库名称
创建表
ISQL==》TABLE==》CREATE==》输⼊欲建的表名==》ADD
==》输⼊欲建的字段名及类型等==》EXIT==》BUILD-NEW-TABLE
⽣成缺省表格式
ISQL==》FORM==》GENERATE=》选择数据库==》输⼊表格式名称==》选择表==》TABLE-SELECTION-COMPLETE-----》编译成功==》RUN
四、使⽤RDSQL(交互式查询语⾔)编写SQL语句
⽅法:ISQL==》Query Langavage==》NEW==》RUN
建⽴数据库
CREATE DATABASE 数据库名
建表(格式及可选数据类型)
基本格式:
CREATE TABLE表名
( 字段名 类型 ,
字段名 类型 ,
--- 字段名 类型);
详细定义:
CREATE TABLE表名
( COL1 INTEGER NOT NULL,
COL2 CHAR(2) CHECK ( COL2 IN (“??”,“??” )),
COL3 DATE DEFAULT TODAY,
COL4 SMALLINT UNIQUE,
--- 字段名 类型 )
FRAGMENT BY ROUND ROBIN (BY EXPRESSION) IN DB1,DB2
EXTENT SIZE 1000 NEXT SIZE 600
WITH NO LOG (LOG;BUFFERED LOG;LOG MODE ANSI )
LOCK MODE ROW(PAGE);
例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 CUSTOMERdrop删除表
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
练习题:
建⽴⼀个公司职员库,其中包含⼀个公司职员表,内容包括:
EMPLOYEE_NAME , EMPLOYEE_NUM, HIRE_DATE , SALARY等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论