Informix的常用知识-程序员宅基地

技术标签: 应用服务器  网络应用  Informix  数据库  数据结构  SQL  

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

六、常用SQL语句
使用SQL语句的基本步骤是:
A、 在提示符#或$后面键入dbaccess
B、 选择菜单Query-Language
C、 选择需要查询的数据库
D、 选择菜单New
E、 输入你的SQL语句
F、 按Esc键退出
G、 选择菜单Run执行你的SQL语句
1、 查询语句
在数据库中查询动作的完成主要由select语句完成,其语法结构为:
select select-list
  from table-name
  [where condition]
其中:select-list 是要从选中的表中提取的字段名列表,如果全部取出,可以用*代替
   table-name  是想要查询的表名
   condition  是查询的条件,将所有满足此条件的记录列出;
         如果省略,则查询所有记录(以下条件语句功能相同)
例如:
   1)查询储蓄数据库中所有的操作员的信息
  select * from czy
   2)查询储蓄数据库中所号为“0000000”的操作员的所有信息
     select * from czy where cxsh=”0000000”
   3)查询储蓄数据库中所有在1998/11/07开户的活期帐户的帐号、姓名和余额
   select zh,hm,jce from hzb where khrq=”1998/11/07”
2、 修改语句
用来完成对数据库中的数据进行修改的工作。=其语法结构为:
update table-name
 set column-name=expression
 [where condition]
  其含义是将表 table-name中满足条件condition的记录的字段column-name的值修改为expression
 例如:
  1)对公会计在后台操作时,一不小心修改了后台所号(应该是“999999999”),再次注册时,系统提示“无此代码”。
 update cszd set dwdh=”9999999” where dwdh=”7777777”
3、 删除语句
用来删除数据库中作废的数据。其语法结构为:
delete from table-name
 where condition
含义是:删除表table-name中满足条件condition的所有记录
例如:
1) 删除储蓄数据库中“1998/11/07”的所有流水帐
delete from lsz where rq=”1998/11/07”
2) 删除储蓄所号为“0000001”、操作员代号为“0001”的记录
delete from czy where cxsh=”0000001” and dh=”00001”
4、 赋权语句
数据库的操作权限分为三级connect、resoure、dba,三种权限依次加大。
对表的操作权限分为:alter、delete、index、insert、execute、select、update、references、 all等。
权限赋予某用户的语法结构为:
grant db-privilege to user-list
  含义是:将对库的权限db-privilege赋予用户user-list
grant tab-privilege on table-name to user-list
  含义是:将对表table-name的权限tab-privilege赋予用户user-list
权限从某用户收回的语法结构为:
revoke tab-privilege on table-name from user-list
  含义是:收回用户user-list对表table-name操作权限tab-privilege
revoke db-privilege from user-list
   含义是:收回用户user-list对数据库的操作权限db-privilege
例如:
1) 储蓄安装完后,超级用户root要想查询数据库,系统提示:
387: No connect permission.
111: ISAM error: no record found.
原因 就是root对bankstar数据库没有connect权限
我们可以使用下面的语句赋予root权限
grant connect to root
  2)现在我们要收回root对会计数据库的dba权限,语句如下:
  revoke dba from root
5、 下载语句
用于将表中的数据下载成文本文件,多用于一些共用参数。其语法格式为:
unload to “pathname” select-statement
其含义是:将通过 select语句查询出来的结果输出到文件pathname中去。
例如:我们将在甲所对公会计中已经定义好的科目下载成文本文件,存放到”/tmp/kmzd”文件中
  unload to “/tmp/kmzd” select * from kmzd
6、 上载语句
用于将已经下载成文本文件的数据加载到数据库中的相应的表中,其语法结构为:
load from “pathname” insert into table-name
  其含义是:将文本文件pathname中的数据加载到表table-name中去。
 例如:我们将上面从甲所下载来的数据通过软盘带到乙所,然后将其加载到乙所的kmzd中
   load from “/tmp/kmzd” insert into kmzd

 

四、 使用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 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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mz_hj/article/details/83710671

智能推荐

如何配置filezilla服务端和客户端_filezilla server for windows (32bit x86)-程序员宅基地

文章浏览阅读7.8k次,点赞3次,收藏9次。如何配置filezilla服务端和客户端百度‘filezilla server’下载最新版。注意点:下载的版本如果是32位的适用xp和win2003,百度首页的是适用于win7或更高的win系统。32和64内容无异。安装过程也是一样的。一、这里的filezilla包括服务端和客户端。我们先来用filezilla server 架设ftp服务端。看步骤。1选择标准版的就可以了。 _filezilla server for windows (32bit x86)

深度学习图像处理01:图像的本质-程序员宅基地

文章浏览阅读724次,点赞18次,收藏8次。深度学习作为一种强大的机器学习技术,已经成为图像处理领域的核心技术之一。通过模拟人脑处理信息的方式,深度学习能够从图像数据中学习到复杂的模式和特征,从而实现从简单的图像分类到复杂的场景理解等多种功能。要充分发挥深度学习在图像处理中的潜力,我们首先需要理解图像的本质。本文旨在深入探讨深度学习图像处理的基础概念,为初学者铺平通往高级理解的道路。我们将从最基础的问题开始:图像是什么?我们如何通过计算机来理解和处理图像?

数据探索阶段——对样本数据集的结构和规律进行分析_数据分析 规律集-程序员宅基地

文章浏览阅读62次。在收集到初步的样本数据之后,接下来该考虑的问题有:(1)样本数据集的数量和质量是否满足模型构建的要求。(2)是否出现从未设想过的数据状态。(3)是否有明显的规律和趋势。(4)各因素之间有什么样的关联性。解决方案:检验数据集的数据质量、绘制图表、计算某些特征量等,对样本数据集的结构和规律进行分析。从数据质量分析和数据特征分析两个角度出发。_数据分析 规律集

上传计算机桌面文件图标不见,关于桌面上图标都不见了这类问题的解决方法-程序员宅基地

文章浏览阅读8.9k次。关于桌面上图标都不见了这类问题的解决方法1、在桌面空白处右击鼠标-->排列图标-->勾选显示桌面图标。2、如果问题还没解决,那么打开任务管理器(同时按“Ctrl+Alt+Del”即可打开),点击“文件”→“新建任务”,在打开的“创建新任务”对话框中输入“explorer”,单击“确定”按钮后,稍等一下就可以见到桌面图标了。3、问题还没解决,按Windows键+R(或者点开始-->..._上传文件时候怎么找不到桌面图标

LINUX 虚拟网卡tun例子——修改_怎么设置tun的接收缓冲-程序员宅基地

文章浏览阅读1.5k次。参考:http://blog.csdn.net/zahuopuboss/article/details/9259283 #include #include #include #include #include #include #include #include #include #include #include #include _怎么设置tun的接收缓冲

UITextView 评论输入框 高度自适应-程序员宅基地

文章浏览阅读741次。创建一个inputView继承于UIView- (instancetype)initWithFrame:(CGRect)frame{ self = [superinitWithFrame:frame]; if (self) { self.backgroundColor = [UIColorcolorWithRed:0.13gre

随便推点

字符串基础面试题_java字符串相关面试题-程序员宅基地

文章浏览阅读594次。字符串面试题(2022)_java字符串相关面试题

VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发_vscode远程ssh连接服务器 python 显示plt-程序员宅基地

文章浏览阅读1.4w次,点赞12次,收藏21次。VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发问题服务器 linux ubuntu16.04本地 windows 10很多小伙伴发现VSCode不能显示figure,只有用自带的jupyter才能勉强个截图、或者转战远程桌面,这对数据分析极为不方便。在命令行键入xeyes(一个显示图像的命令)会failed,而桌面下会出现:但是Xshell能实现X11转发图像,有交互功能,但只能用Xshell输入命令plot,实在不方便。其实VScode有X11转发插件!!方法_vscode远程ssh连接服务器 python 显示plt

element-ui switch开关打开和关闭时的文字设置样式-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏2次。element switch开关文字显示element中switch开关把on-text 和 off-text 属性改为 active-text 和 inactive-text 属性.怎么把文字描述显示在开关上?下面就是实现方法: 1 <el-table-column label="状态"> 2 <template slot-scope="scope">..._el-switch 不同状态显示不同字

HttpRequestUtil方法get、post、JsonToPost_httprequestutil.httpget-程序员宅基地

文章浏览阅读785次。java后台发起请求使用的工具类package com.cennavi.utils;import org.apache.http.Header;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpPost;import org.apach_httprequestutil.httpget

App-V轻量级应用程序虚拟化之三客户端测试-程序员宅基地

文章浏览阅读137次。在前两节我们部署了App-V Server并且序列化了相应的软件,现在可谓是万事俱备,只欠东风。在这篇博客里面主要介绍一下如何部署客户端并实现应用程序的虚拟化。在这里先简要的说一下应用虚拟化的工作原理吧!App-V Streaming 就是利用templateServer序列化出一个软件运行的虚拟环境,然后上传到app-v Server上,最后客户..._app-v 客户端

推荐文章

热门文章

相关标签