Informix数据库SQL介绍

INFORMIX SQL 介绍

一、简介:

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表名

(COL1INTEGER NOT NULL,

COL2CHAR(2)CHECK ( COL2IN (“??”,“??”),

COL3DATE DEFAULT TODAY,

COL4SMALLINT 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_DA TE_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)),V ARCHAR(MINSIZE, MAXSIZE)

数值型(六种,DECIMAL(16,2),SMALLINT,INTEGER,SMALLFLOAT,FLOAT,SERIAL ) 日期型( DATE,默认格式为:MM/DD/YYYY )

**要修改DATE类型的缺省格式, 只要在用户主目录的.profile文件中做如下说明: DBDATE=Y4MD/

EXPORT DBDA TE**

货币型(MONEY (8,2))

其它(如:INTERV AL,DA TETIME等)

?; 建立索引(必须建立命名索引)

CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)

CREATE[ UNIQUE ]INDEX索引名ON表名(字段名)DISABLED;

SET INDEXES索引名ENABLED

DROP INDEX索引名

?; 数据库权限

CONNECT:访问数据库

RESOURCE:允许用户建立或清除数据库中的表和索引

DBA:数据库管理员,所有权限,一般建表者即为DBA

GRANT权限TO〈PUBLIC | 用户名〉

REVOKE权限FROM〈PUBLIC | 用户名〉

?; 检索数据库

DA TABASE数据库名

SELECT * FROM表名

SELECT字段名,字段名FROM表名

SELECT字段名,字段名+-*/新字段名FROM表名

SEKECT A VG(字段) ,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。。。。]V ALUES [ ]

修改

UPDATE表名SET字段名=WHERE

删除

DELETE FROM表名WHERE

修改表的结构:

例1:

ALTER TABLE表名

DROP COL2 ,

MODIFY COL1INTEGER NOT NULL ,

ADD COL4INTEGER ,

ADD COL3CHAR(20)BEFORE COL4;

例2:

ALTER TABLE ORDERS

MODIFY NEXT SIZE300;

改名:

RENAME COLUMN TABLE。COL TO NEWCOL_NAME

RENAME TABLE TABLE_NAME TO NEWTABLE_NAME

RENAME DATABASE DA TABASE_NAME TO NEWDATABASE_NAME 删除:

DROP TABLE TABLE_NAME

DROP DATABASE DATABASE_NAME

练习题:

建立一个公司职员库,其中包含一个公司职员表,内容包括:

EMPLOYEE_NAME , EMPLOYEE_NUM, HIRE_DATE ,SALARY等

相关文档
最新文档