Informix数据库dbaccess工具执行SQL语句操作说明

合集下载

InformixDBACCESS讲解

InformixDBACCESS讲解

一、DB-ACCESS应用工具的说明使用DB-ACCESS可以方便的实现下面的功能:1.调试、执行那些很少执行或只需要执行一次的查询;2.方便的连接到一个或多个数据库服务器,在数据库服务器和外部文件之间交换数据,或显示数据库的相关信息;3.显示系统数据表和数据模式的信息;4.作为一个方便的SQL语言的学习环境;5.查看应用程序的执行结果,作为应用程序的测试工具;A.进入DBACCESS→$DBACCESS [DATABASE]若后方直接输入DATABASENAME则一并开启之;例:DBACCESS STORES@XYZ或DBACCESS //XYZ/STORES打开XYZ数据库服务器上的STORES数据库,若选择当前数据库服务器上的STORES数据库,则省略@XYZ(即:DBACCESS STORES);B.主功能选择Query-Language→提供管理者一个SQLeditor,可自行输入SQL指令并执行Connection→建立或断开与数据库服务器的连接Database→提供管理者管理数据库的建立、异动与删除Table→提供管理者管理数据表的建立、异动与删除Session→描述数据库服务库和主机Exit→退出DBACCESSC.Query-Language功能选择New→清除Editor画面,输入SQL指令若输入多条SQL语句,请用“;”将SQL语句分割开Run→执行Editor中所输入之SQL指令Modify→修改Editor中所输入之SQL指令Use-editor→使用DBEDIT所指定的Editor当编辑器Output→将执行结果产生至打印机或档案Choose→选择已建立好的SQL档案复制到Editor中供使用Save→Editor中所输入的SQL指令存至Editor中供以后参考使用用户要保存的目标文件名最大长度为10个字符,DB-ACCESS自动为其添加扩展名“.sql”Info→查询DATABASE与TABLE的资讯Columns→显示指定表的列的信息,包括数据类型和是否允许为空值Indexes→显示指定表的索引的名字、拥有者和类型(唯一索引和普通索引)Privileges→列出具有表级插入、删除等权限的用户列表References→列出对指定表中的列具有关联权限的用户Status→列出表的状态信息,字段数、记录数、行的大小、创建日期Constraints→关联、主码、唯一限制和列的默认值Triggers→触发器的相关信息Table→选择表Fragments→表的空间分配策略Drop→删除已存在之SQL档案Exit→退出D.Connection功能选择Connect→可以和特定的数据库建立联系Disconnect→可以断开当前数据库服务器的连接E.Database功能选择Select→开启数据库若选择非当前数据库服务器,则必须写清数据库服务器名称,且需将二者用“@”分开Create→建立新数据库若在非当前数据库服务器上创建数据库,则必须输入数据库服务器名和数据库名,且需将二者用“@”分开Dbspace→数据库空间选择屏幕注:rootdbs主要用来存储对应数据库服务器的系统信息,故最好不要选择Log→日志的管理选项None→默认值,不记录事务日志Log→选择不缓冲的事务日志记录方式Buffered-log→用缓冲的方式记录事务日志Log-Mode-ansi→创建ANSI兼容的事务日志记录方式,不缓冲Info→显示当前数据库的相关信息dbspace→显示存储数据库的数据库空间的信息nls→显示本地语言设置和支持信息procedures→显示内部存储过程,并可列出过程体routines→列出内部存储过程和函数信息,同样可以列出内部存储过程和函数信息database→选择另外一个数据库Drop→删除数据库Close→关闭当前数据库Exit→退出F.Table功能选择Create→建立新数据库add→显示模式编辑器,允许用户创建新的列modify→显示表中的列,在创建表之前可以进行修改drop→删除表中现存的列screen→显示下一页table-options→显示、修改表的存储空间选择、存储空间分配、物理行号Storage→显示表的存储空间分配策略,并允许修改eXtent-size→设定基本存储空间大小Next-size→扩展存储空间块的大小Lock-mode→数据锁定方式constraints→定义主码、外码、检查和唯一限制,列的默认值注:在系统弹出模式编辑器后,只能用空格键在菜单中选择不同的选项Alter→修改数据库结构内容Info→查询数据库结构内容Columns→查看选定表的列的信息,列的信息包括:列名、数据类型及精度、是否允许为空值Index→查看表的索引References→查看表中字段的关联权限triGgers→查看表的触发器的信息Fragments→查看表的存储分配策略Drop→删除数据库Exit→退出G.Session功能选择显示当前的数据库服务器名称、类型、主机等信息二、操作DB-ACCESS应用工具的小技巧ESC→结束编辑,返回CTRL-A→改变输入模式插入或替换CTRL-D→删除当前行光标后字符CTRL-R→重写屏幕CTRL-W→打开上下文关联的帮助屏幕CTRL-X→删除光标处字符三、INFORMIX-SQL指令的介绍DATABASE 开启数据库语法:database <database name>例如:database dbs1CLOSE DATABASE 关闭目前使用中的数据库DROP DATABASE 删除数据库语法:drop database <database name>例如:drop database <dbs1>CREATE TABLE 建立数据表语法:create [temp] table <table name> (column definition)例如:create [temp] table tab001 (col001 char(1) not null,col002 smallint default 0 not null,col003 decimal(16,2) not null,col004 date default today)CREATE INDEX 对已存在的数据库建立索引档语法:create [unique] index <index name> on <table name>(columns <DESC>)例如:create [unique] index ix001 on tab001 (col001,col002 desc,col003)DROP INDEX 删除索引档语法:drop index <index name>例如:drop index ix001DROP TABLE 删除数据库语法:drop table <table name>例如:drop table tab01RENAME COLUMN 将栏位改名称语法:rename column <old column name> to <new column name>例如:rename column col001 to col002RENAME TABLE 将数据表改名称语法:rename table <old table name> to <new table name>例如:rename table tab001 to tab002INSERT(新增、插入)SQL:(struct query language)UPDATE(修改)SELECT(查询)DELETE(删除)INSERT 新增资料内容语法:insert into <table name> <column list> values(<values>)例如:insert into tab001 values (“value001”,“value002”…)注:column list 选择项的填入,若正与table中的栏位一样,顺序也相同,可省略不写,如果填入,values部分必须与该部分相符,资料型态也一样UPDATE 修改数据内容语法:update <table name> set <column>=<value>, <column>=<value>,…where <condition>例如:update tab001 set col001=“value1”,col002=“value2”where…DELETE 删除资料内容语法:delete from <table name> where <condition>例如:delete from tab001 where …SELECT 读取资料内容语法:select <目标列表达式>from [<数据库名称>] <owner>.]{<表名>|<视图名>}…[where <条件表达式>][group by <列名1> [having <内部函数表达式>]][order by <列名2> ] asc(升序、默认) desc (降序)注:having与where的区别:where后进跟固定栏位;having后跟运算结果及where无法完成的部分目标列表达式中,*:表示要查询所有的属性列,在between和in中均不可使用distinct:表示在结果表中去掉重复组count(*):计算符合条件的记录个数sum():求符合条件的某一列值的总和(此列必是数值)avg():求符合条件的某一列值的平均值(此列必是数值)max():求一列中最大值min():求一列中最小值unique:不可重复,唯一查询条件表达式中,范围确定:between and ,not between and列表或集合:in,not in多重条件:and or not字符匹配:like 用like时,常配%任意长度的字符串LOAD 将外部文本档转入至资料档语法:load from <output file> delimiter <sysmbol> insert into <table name> (column list) 例如:load from “output.txt”delimiter “|”insert into tab001UNLOAD 将资料内容转出文本档语法:unload to <output file> delimiter <symbol> <select statement>例如:unload to “output.txt”delimiter “|”select * from tab001 where…。

Informix数据库的操作和维护手册

Informix数据库的操作和维护手册

Informix数据库的操作和维护手册概述Informix Dynamic Server (IDS) 作为一个先进的关系数据库管理系统,功能强大,性能优越,采用了DSA动态可伸缩体系结构,具有非常好的可伸缩性和适应性,它在我国许多行业,特别是金融、邮电等领域,都有广泛的应用.1informix数据库服务器运行方式1.1脱机方式:数据库服务器不运行时.未分配任何共享内存1.2静默方式:当数据库服务器进程正在运行并且已分配共享内存,但系统不允许数据库用户访问1.3联机方式:只有管理员(用户informix)可以访问该数据库服务器,用户可以与数据库服务器连接并执行说有数据库活动,这是数据库服务器的普通运行方式1.4维护方式:用户informix或用户root可以在数据库服务器联机时使用命令行实用程序更改许多数据库服务器ONCONFIG参数值2informix数据库的工作模式切换2.1从脱机到静默数据库服务器从脱机方式更改到静默方式时,数据库服务器讲初始化共享内存,数据库服务器处于静默方式时,任何会话都不可以获得对数据库服务器的访问权.操作命令(oninit –s)2.2从脱机到联机数据库服务器从脱机方式转到联机方式时,数据库服务器将初始化共享内存.数据库服务器处于联机方式时,它可用于所有数据库服务器会话.操作命令(oninit)2.3从静默到联机数据库服务器从静默方式到联机方式时,所有会话都将获得访问权操作命令(onmode –m)2.4缓缓从联机到静默数据库服务器缓缓从联机方式到静默方式以便在不中断当前处理的情况下限制对数据库服务器的访问.操作命令(onmode –s)2.5立刻从联机到静默将数据库服务器立刻从联机方式转到静默方式以便尽快限制对数据库服务器的访问,进行中的工作可能会丢失.操作命令(onmode –uy)2.6从任何方式立刻到脱机可以将数据库服务器立刻从任何方式转到脱机方式,数据库服务器将清除已由数据库服务器终止的所有会话,活动的事务将回滚.操作系统(onmode –ky)3informix数据库的磁盘管理物理结构IDS管理的主要是page,chunk逻辑结构IDS管理的主要是extent,tablespace,dbspace连续的page组成extent ,多个extent组成tablespace,dbspace用来逻辑的管理chunck而每个tablespace建立在dbspace上.3.1chunck一个单元的物理磁盘空间,在9,4版本之前不容许超过2G。

informix数据库的操作和维护

informix数据库的操作和维护

INFORMIX数据库的常用管理命令约定✧命令行中,<>括起来的内容不是实际要键入的内容,而是要键入的内容的说明。

✧命令行中,[]括起来的内容表示是可选项。

✧命令行中,a | b表示a或b选其中之一,为消除二义性,有时也用{a | b }表示。

✧命令行尾的\表示由于排版的限制一行写不下换到下一行,实际输入时可以不换行。

✧/* */括起来的斜体字表示注释。

1.简介INFORMIX-OnLine Dynamic Server(以下简称OnLine)提供了一个字符窗口界面的集成管理工具onmonitor,通过它可以完成除了数据备份外的大部分常用管理任务。

同时,OnLine还提供了一整套命令行管理工具,常用的有以下这些:命令功能oninit 启动OnLineonmode 改变模式和共享内存onstat 通过共享内存结构监视OnLine的操作状态oncheck 检查、修复、显示OnLine的磁盘结构ondblog 改变database的log方式onparams 修改逻辑和物理日志的配置参数onspaces 修改blobspace和dbspace的配置ontape 数据库备份和恢复工具onarchive 比ontape功能更强的备份和恢复工具dbexport 将整个database备份成文本文件格式dbimport 用文本文件格式的database备份重建databasedbschema 显示数据库、表的结构dbaccess 字符窗口界面的交互式SQL命令执行环境严格来说,最后四个命令不属于管理工具,但是因为在进行数据库管理时经常用到,所以也在此列出。

2.权限在Informix中,用户root和informix拥有最高的权限,可以执行所有的管理命令,可以查看所有database中的数据。

其次是属于informix组的用户,它们可以执行数据库server的启动和关闭等重要的管理命令。

其它不在informix组中的用户权限最低,只能执行一般的管理命令。

informix的常用SQL语句

informix的常用SQL语句

informix的常用SQL语句1、创建数据库eg1. 创建不记录日志的库testdb,参考语句如下:CREATE DATABASE testdb;eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH BUFFERED LOG;eg3. 创建无缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG;eg4. 创建ANSI的数据库(记录日志时无缓冲,SQL总在事务之中,拥有者名字被用于对象的解析),参考语句如下:CREATE DATABASE testdb WITH LOG MODE ANSI;2、创建普通数据表普通数据表又被称为持久数据表,它在system catalog里注册。

一个普通数据表可对多个sessi on和connection。

创建时可以指定dbspace。

eg1、如下语句创建了一个集团信息表cti_vccinfo:create table cti_vccinfo(vccid CHAR(6) not null,vccname VARCHAR(255),effective INTEGER default0not null,agentmax INTEGER default0not null,ivrmax INTEGER default0not null,updatekey VARCHAR(30),primary key(vccid) constraint PK_CTI_VI);3、创建临时数据表临时数据表不在system catalog里注册。

一个临时数据表只对对应的某个session或connectio n可见,在对应的session或connection结束时被自动清除。

Informix数据库基本操作和常用配置

Informix数据库基本操作和常用配置
创建数据库
在控制台输入dbaccess,进入informix管理界面,界面的菜单就不一一解释了,选择database-create输入数据库名,以test为例,回车,dbspace选择test,回车,这一步完了用方向键移到exit选项上,退回到上级菜单,选择Create-new-database,回车即可。完成后一直exit退出管理界面,输入ontape -s -B test修改数据库test日志模式为bufferedlogging,这一步是必须的,否则数据库不支持事务,完成后即可以使用该数据库。Linux下数据库的创建和windows下的一样。简单说一下informix数据库中的四种日志模式:
1、DirtyRead(脏读)隔离
DirtyRead是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、CommittedRead(提交后读)隔离
当进程请求CommittedRead隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
U代表Unbufferd(无缓冲日志模式)
B代表bufferd(缓冲日志模式)
A代表Ansi(不常用,不能和其它日志模式转化)
还有一种是N(Nolog)(无日志模式)
各个日志模式之间用ontape -s -代码(U,B,N,A)来进行转换,但转换之前需要修改onconfig文件中的TapeDev和Ltapedev两个参数,指向/dev/null,以免在数据库模式转换的时候进行长时间的0级备份,这两个参数具体含义会在后面说到。
还有一种提高并行性的设置,使用Set Isolation to Committed Read Last Committed语句,为SET ISOLATION TO COMMITTED READ语句引入新的LAST COMMITTED关键字选项,可减少尝试读取表时发生锁定冲突的风险。采用该语句,当用户读取正在被其他用户修改的数据时不在处于锁等待状态,而是可以读取修改前最近落实版本的数据值。这样,由于不会产生锁等待,应用程序效率会显著提高,而且,由于是读取修改前最近落实版本的数据值,也不会产生读取幻象数据(phantom data)的问题,同时,也会大大减少产生死锁的现象。它只支持“行”级别锁定,它不支持以下这些表:正在被DataBlade模块(DataBlade模块是一种标准的软件模块,它可以被插入到数据库中,用以扩展其能力,使用户可以使用任何想要的数据来做任何想做的事情。用户可以融合和匹配来自第三方和Informix的DataBlade模块,或者编写自己的DataBlade模块来创建革新化的商务应用。每个DataBlade模块都包含某一特定领域数据管理的专业知识,可以简单地插入到数据库中,既可以单独使用,又可以与其他DataBlade模块一起使用。有了这种灵活性,用户就可以扩充其DBMS,来解决现在以及将来的特殊数据管理问题。)访问的表、列中具有集合数据类型的表、使用虚拟表界面创建的表、具有页面级别锁定的表、具有专用表级别锁定的表或无事务记录的数据库中的表。在跨服务器的分布式查询中,如果发出查询的会话的隔离级别具有有效的LAST COMMITTED隔离级别,但一个或多个参与操作的数据库不支持该LAST COMMITTED功能,那么整个事务符合发出该事务的会话的“已落实读”或“脏读”隔离级别,而不启用LAST COMMITTED选项。

informix命令使用方法

informix命令使用方法
onmode -y 对提示自动回答yes
onmode -ky offline
onmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)
onmode -u immediate shutdown-->quiescent(联机到静态,所有用户立即终止)
根据上例中输出结果创建数据库。
3. dbload
将ASCII 文件中的数据传送到数据库中。
4. dbschema
将数据库的模式输出到文件中,可用于重建数据库或表。
5. onlog
显示系统逻辑日志的内容。常用选项有:
onlog -l 显示已经备份到磁带上的日志信息
6. 在x-windows下可以运行的程序
a) 改变文件db_name.exp/db_name.sql为db_name.exp/new_db_name.sql,“.sql”不变 ;
$ cd db_name.exp
$ mv db_name.sql new_db_name.sql
b) 改变目录db_name.exp为new_db_name.exp,“.exp”不变;
onmode -m quiescent--->online
onmode -z sid 删除某session
onmode -l 将当前正在使用的逻辑日志下移
onmode -c 强制执行检查点操作 即onmonitor->force ckpt
onmode 命令同样用于改变动态服务器的运行模式。除了上述选项外,onmode还有很多与改变系统运行模式无关的选项。
$ mv db_name.exp new_db_name.exp

informixsql函数使用说明大全

informixsql函数使用说明大全

informixsql函数使用说明大全informix sql函数使用说明大全一、内部函数1、内部合计函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的数值和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中的数值平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中的数值最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式中的数值最大值2、日期与时间函数1)DAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当月几号2)MONTH(DATE/DATETIME EXPRESSION)返回指定表达式中的月份3)YEAR(DATE/DATETIME EXPRESSION)返回指定表达式中的年份4)WEEKDAY(DATE/DATETIME EXPRESSION)返回指定表达式中的当周星期几5)DATE(NOT DATE EXPRESSION)返回指定表达式代表的日期值6)TODAY 返回当前日期的日期值7)CURRENT[FIRST TO LAST] 返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数9)MDY(MONTH,DAY,YEAR)返回标识指定年、月、日的日期值10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的日期时间值11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值12)EXTEND(DATE/DATETIME EXPRESSION,[FIRST TO LAST])返回经过调整的日期或日期时间值select current year to second from systablesTo_char函数将datetime和date值转化为字符值。

InformixSQL语句详解

InformixSQL语句详解

Informix SQL 语句详解(1)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”;DA TABASE databse-name [EXCLUSIVE]选择数据库。

database_name:数据库名称。

EXCLUSIVE:独占状态。

存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。

例:dtabase customerdb;3. CLOSE DA TABASE关闭当前数据库。

database_name:数据库名称。

此语句之后,只有下列语句合法:CREATE DATABASE;DATABASE;DROP DA TABSE;ROLLFORWARD DA TABASE;删除数据库前必须使用此语句。

例:close database;4. DROP DA TABASE database_name删除指定数据库。

database_name:数据库名称。

用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。

例:drop databse customerdb;5. CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)[IN “pathname”]创建表或临时表。

INFORMIX数据库操作及SQL语法

INFORMIX数据库操作及SQL语法

编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。

2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。

2.2、数据库系统概述......................................................................... 错误!未定义书签。

2.2.1、数据库的产生................................................... 错误!未定义书签。

2.2.2、数据库系统组成................................................. 错误!未定义书签。

2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。

2.2.4、数据库系统特点................................................. 错误!未定义书签。

2.2.5、数据库系统的历史............................................... 错误!未定义书签。

2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。

2.2.7、数据库的分类................................................... 错误!未定义书签。

sqllinform使用技巧

sqllinform使用技巧

sqllinform使用技巧SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。

在SQL中,INFORM(或者称为Informix)是一种常用的关系型数据库管理系统(RDBMS)。

本文将介绍一些SQL/INFORM的使用技巧,帮助读者更好地理解和运用这个强大的工具。

一、使用注释在编写SQL语句时,合理使用注释可以提高代码的可读性和可维护性。

在INFORM中,可以使用"--"来注释单行,或者使用"/* */"来注释多行。

例如:-- 这是一个单行注释/*这是一个多行注释可以有多行内容*/通过使用注释,可以向其他开发人员解释代码的用途和逻辑,方便代码的维护和修改。

二、使用别名在进行查询时,可以使用别名给表名、列名或查询结果命名,方便后续引用。

使用别名可以简化SQL语句,提高可读性。

例如:SELECT emp_id AS ID, emp_name AS Name, emp_salary AS SalaryFROM employee在这个例子中,给emp_id、emp_name和emp_salary分别起了别名ID、Name和Salary。

在查询结果中,可以直接使用别名引用这些列。

三、使用通配符通配符是用来模糊匹配数据的特殊字符。

在INFORM中,常用的通配符有"%"和"_"。

其中,"%"表示匹配任意字符(包括0个字符),"_"表示匹配一个字符。

例如:SELECT emp_nameFROM employeeWHERE emp_name LIKE 'J%'这个例子中,查询所有以字母J开头的员工姓名。

四、使用聚合函数聚合函数是用来对数据进行汇总计算的函数。

在INFORM中,常用的聚合函数有SUM、AVG、COUNT、MIN和MAX。

InformixDBACCESS讲解

InformixDBACCESS讲解

InformixDBACCESS讲解一、DB-ACCESS应用工具的说明使用DB-ACCESS可以方便的实现下面的功能:1.调试、执行那些很少执行或只需要执行一次的查询;2.方便的连接到一个或多个数据库服务器,在数据库服务器和外部文件之间交换数据,或显示数据库的相关信息;3.显示系统数据表和数据模式的信息;4.作为一个方便的SQL语言的学习环境;5.查看应用程序的执行结果,作为应用程序的测试工具;A.进入DBACCESS→$DBACCESS [DATABASE]若后方直接输入DATABASENAME则一并开启之;例:DBACCESS STORES@XYZ或DBACCESS //XYZ/STORES 打开XYZ数据库服务器上的STORES数据库,若选择当前数据库服务器上的STORES数据库,则省略@XYZ(即:DBACCESS STORES);B.主功能选择Query-Language→提供管理者一个SQLeditor,可自行输入SQL 指令并执行Connection→建立或断开与数据库服务器的连接Database→提供管理者管理数据库的建立、异动与删除Table→提供管理者管理数据表的建立、异动与删除Session→描述数据库服务库和主机Exit→退出DBACCESSC.Query-Language功能选择New→清除Editor画面,输入SQL指令若输入多条SQL语句,请用“;”将SQL语句分割开Run→执行Editor中所输入之SQL指令Modify→修改Editor中所输入之SQL指令Use-editor→使用DBEDIT所指定的Editor当编辑器Output→将执行结果产生至打印机或档案Choose→选择已建立好的SQL档案复制到Editor中供使用Save→Editor中所输入的SQL指令存至Editor中供以后参考使用用户要保存的目标文件名最大长度为10个字符,DB-ACCESS自动为其添加扩展名“.sql”Info→查询DATABASE与TABLE的资讯Columns→显示指定表的列的信息,包括数据类型和是否允许为空值Indexes→显示指定表的索引的名字、拥有者和类型(唯一索引和普通索引)Privileges→列出具有表级插入、删除等权限的用户列表References→列出对指定表中的列具有关联权限的用户Status→列出表的状态信息,字段数、记录数、行的大小、创建日期Constraints→关联、主码、唯一限制和列的默认值Triggers→触发器的相关信息Table→选择表Fragments→表的空间分配策略Drop→删除已存在之SQL档案Exit→退出D.Connection功能选择Connect→可以和特定的数据库建立联系Disconnect→可以断开当前数据库服务器的连接E.Database功能选择Select→开启数据库若选择非当前数据库服务器,则必须写清数据库服务器名称,且需将二者用“@”分开Create→建立新数据库若在非当前数据库服务器上创建数据库,则必须输入数据库服务器名和数据库名,且需将二者用“@”分开Dbspace→数据库空间选择屏幕注:rootdbs主要用来存储对应数据库服务器的系统信息,故最好不要选择Log→日志的管理选项None→默认值,不记录事务日志Log→选择不缓冲的事务日志记录方式Buffered-log→用缓冲的方式记录事务日志Log-Mode-ansi→创建ANSI兼容的事务日志记录方式,不缓冲Info→显示当前数据库的相关信息dbspace→显示存储数据库的数据库空间的信息nls→显示本地语言设置和支持信息procedures→显示内部存储过程,并可列出过程体routines→列出内部存储过程和函数信息,同样可以列出内部存储过程和函数信息database→选择另外一个数据库Drop→删除数据库Close→关闭当前数据库Exit→退出F.Table功能选择Create→建立新数据库add→显示模式编辑器,允许用户创建新的列modify→显示表中的列,在创建表之前可以进行修改drop→删除表中现存的列screen→显示下一页table-options→显示、修改表的存储空间选择、存储空间分配、物理行号Storage→显示表的存储空间分配策略,并允许修改eXtent-size→设定基本存储空间大小Next-size→扩展存储空间块的大小Lock-mode→数据锁定方式constraints→定义主码、外码、检查和唯一限制,列的默认值注:在系统弹出模式编辑器后,只能用空格键在菜单中选择不同的选项Alter→修改数据库结构内容Info→查询数据库结构内容Columns→查看选定表的列的信息,列的信息包括:列名、数据类型及精度、是否允许为空值Index→查看表的索引References→查看表中字段的关联权限triGgers→查看表的触发器的信息Fragments→查看表的存储分配策略Drop→删除数据库Exit→退出G.Session功能选择显示当前的数据库服务器名称、类型、主机等信息二、操作DB-ACCESS应用工具的小技巧ESC→结束编辑,返回CTRL-A→改变输入模式插入或替换CTRL-D→删除当前行光标后字符CTRL-R→重写屏幕CTRL-W→打开上下文关联的帮助屏幕CTRL-X→删除光标处字符三、INFORMIX-SQL指令的介绍DATABASE 开启数据库语法:database例如:database dbs1CLOSE DATABASE 关闭目前使用中的数据库DROP DATABASE 删除数据库语法:drop database例如:drop databaseCREATE TABLE 建立数据表语法:create [temp] table(column definition)例如:create [temp] table tab001 (col001 char(1) not null,col002 smallint default 0 not null,col003 decimal(16,2) not null,col004 date default today)CREATE INDEX 对已存在的数据库建立索引档语法:create [unique] index on(columns )例如:create [unique] index ix001 on tab001 (col001,col002 desc,col003)DROP INDEX 删除索引档语法:drop index例如:drop index ix001DROP TABLE 删除数据库语法:drop table例如:drop table tab01RENAME COLUMN 将栏位改名称语法:rename column to例如:rename column col001 to col002RENAME TABLE 将数据表改名称语法:rename table to例如:rename table tab001 to tab002INSERT(新增、插入)SQL:(struct query language)UPDATE(修改)SELECT(查询)DELETE(删除)INSERT 新增资料内容语法:insert intovalues()例如:insert into tab001 values (“value001”,“value002”…)注:column list 选择项的填入,若正与table中的栏位一样,顺序也相同,可省略不写,如果填入,values部分必须与该部分相符,资料型态也一样UPDATE 修改数据内容语法:updateset =, =,…where例如:update tab001 set col001=“value1”,col002=“value2”where…DELETE 删除资料内容语法:delete fromwhere例如:delete from tab001 where …SELECT 读取资料内容语法:select <目标列表达式>from [<数据库名称>] .]{<表名>|<视图名>}…[where <条件表达式>][group by <列名1> [having <内部函数表达式>]][order by <列名2> ] asc(升序、默认) desc (降序)注:having与where的区别:where后进跟固定栏位;having后跟运算结果及where无法完成的部分目标列表达式中,*:表示要查询所有的属性列,在between和in中均不可使用distinct:表示在结果表中去掉重复组count(*):计算符合条件的记录个数sum():求符合条件的某一列值的总和(此列必是数值)avg():求符合条件的某一列值的平均值(此列必是数值)max():求一列中最大值min():求一列中最小值unique:不可重复,唯一查询条件表达式中,范围确定:between and ,not between and 列表或集合:in,not in多重条件:and or not字符匹配:like 用like时,常配%任意长度的字符串LOAD 将外部文本档转入至资料档语法:load from delimiter insert into(column list) 例如:load from “output.txt”delimiter “|”insert into tab001UNLOAD 将资料内容转出文本档语法:例如:unload to “output.txt”delimiter “|”select * from tab001 where…。

INFORMIX数据库操作及SQL语法

INFORMIX数据库操作及SQL语法

编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (4)1.1、读者对象 (4)1.2、内容简介 (4)1.3、课程时间 (4)1.4、课程目标 (4)2、数据库基本概念...................................................... 错误!未定义书签。

2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。

2.2、数据库系统概述......................................................................... 错误!未定义书签。

2.2.1、数据库的产生.................................................. 错误!未定义书签。

2.2.2、数据库系统组成................................................ 错误!未定义书签。

2.2.3、与数据库相关的软件系统........................................ 错误!未定义书签。

2.2.4、数据库系统特点................................................ 错误!未定义书签。

2.2.5、数据库系统的历史.............................................. 错误!未定义书签。

2.2.6、数据库系统的发展趋势.......................................... 错误!未定义书签。

2.2.7、数据库的分类.................................................. 错误!未定义书签。

Informix常用操作方法命令

Informix常用操作方法命令

Informix常用操作方法北京先进数通信息技术有限公司编写说明标题:Informix常用操作方法类别:〔文档类别〕(文档/管理/纪要/制度/资料)存放位置:请键入完整文档路径\请键入完整文档名称编辑软件:Microsoft Word XP 中文版版本历史:目录编写说明 (1)目录 (I)1. 相关文件 (1)2. 常用环境变量 (1)3. 数据库状态操作 (2)3.1.查看数据库状态 (2)3.2.启动O N L INE (2)3.3.关闭O N L INE (3)4. DBACCESS使用 (3)4.1.数据库操作 (3)4.2.编辑执行SQL语句 (3)5. 装数/卸数 (4)6. 策略优化 (4)7. 脏读 (4)8. 增加事务 (4)9. ONSTAT用法 (5)1.相关文件●informix配置文件:informix配置文件定义数据库的各种参数设置,通过环境变量$ONCONFIG指定,存放在informix用户的etc目录下,如$ONCONFIG=onconfig.cmq,则配置文件为$INFORMIXDIR/etc/onconfig.cmq;●informix日志文件:记录对数据库的操作,以及操作过程中的错误日志等信息,存放在$INFORMIXDIR目录下,文件名为online.log,如对数据库操作出现异常,可查看该文件定位错误原因;●数据库连接文件:连接文件sqlhosts所含的信息使用户可以连接到数据库服务器上,存放在$INFORMIXDIR/etc目录下,一行为一条配置信息,每条包含四个域:【数据库服务器名】:定义数据库服务器名称,如on_compaq_tcp;【连接类型】:如ontlitcp;【主机名】:在/etc/hosts中定义,或直接写主机的IP;【服务名称】:在/etc/services中定义,或直接写端口号;2.常用环境变量●INFORMIXDIR:informix用户安装路径,如INFORMIXDIR=/usr/informix;●INFORMIXSERVER:informix数据库服务器名,如INFORMIXSERVER=on_compaq,数据库服务器名在数据库连接文件sqlhosts中指定;●ONCONFIG:informix配置文件,如ONCONFIG=onconfig.cmq,该文件存放在$INFORMIXDIR/etc目录下。

informix创建表和数据库的语句(转)

informix创建表和数据库的语句(转)

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 详见实⽤程序说明:dbaccessUser-menu 可以执⾏、建⽴或修改⽤户建⽴的菜单Run 执⾏当前数据库的⽤户菜单Modify 允许⽤户建⽴或修改⽤户菜单Exit 退出User-menu菜单Database 详见实⽤程序说明:dbaccessTable 详见实⽤程序说明:dbaccessExit 退出实⽤程序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,DB2EXTENT SIZE 1000 NEXT SIZE 600WITH NO LOG (LOG;BUFFERED LOG;LOG MODE ANSI )LOCK MODE ROW(PAGE);例1:CREATE TABLE ORDERS(ORDER_NUM INTEGERUNIQUE CONSTRAINT ORDER_NUM_UQ,ORDER_DATE DATENOT NULL CONSTRAINT ORDER_DATE_NNDEFAULT 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 CUSTOMERCONSTRAINT 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 索引名 ENABLEDDROP INDEX 索引名数据库权限CONNECT:访问数据库RESOURCE:允许⽤户建⽴或清除数据库中的表和索引DBA:数据库管理员,所有权限,⼀般建表者即为DBAGRANT 权限 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。

informix常用数据库操作

informix常用数据库操作

informix常用数据库操作查看数据库实例名:dbaccess,然后选择database,在选择select,数据库名@符号后面的即为数据库实例名新建数据库:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Create,回车4、输入数据库名:uniacctr,回车5、选择 Dbspace(表空间),回车6、选择跟局数据数据库bureaudb一样的表空间,回车7、选择 Log ,回车8、选择 Log,回车(选择日志模式,其他不支持事务)9、选择 Exit,回车10、选择 Create-new-database ,回车。

此时数据库应该已经建立。

查看某个数据库的表空间:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Select,回车4、选择局数据数据库bureaudb,回车5、选择Info,回车6、选择dBSpace,回车图中rootdbs位置显示的即是表空间关键字: dbschema工具:1)导出数据库中所有的表结构到文件db.sql$>dbschema -d your_database -t all db.sql2)导出数据库中所有的存储过程到文件db.sql$>dbschema -d your_database -f all db.sql3)导出数据库中的所有对象(包含表,存储过程,触发器。

)到文件db.sql $>dbschema -d your_database db.sql4)导出数据库中一个表的结构到文件db.sql$>dbschema -d your_database_name -t your_table_name db.sql5)导出一个存储过程定义到文件db.sql$>dbschema -d your_database_name -f your_procedure_name db.sql6)如果导出更多的表的信息(EXTENT...)$>dbschema -d your_database_name -ss db.sql7)导出数据库中对用户或角色的授权信息$>dbschema -d your_database_name -p all$>dbschema -d your_database_name -r all8)导出数据库中的同义词$>dbschema -d your_database_name -s all导出数据库表结构:dbschema -d database > database.sqldbschema -t tablename >tablename.sql-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。

informix常用数据库操作

informix常用数据库操作

informix常用数据库操作informix常用数据库操作查看数据库实例名:dbaccess,然后选择database,在选择select,数据库名@符号后面的即为数据库实例名新建数据库:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Create,回车4、输入数据库名:uniacctr,回车5、选择 Dbspace(表空间),回车6、选择跟局数据数据库bureaudb一样的表空间,回车7、选择 Log ,回车8、选择 Log,回车(选择日志模式,其他不支持事务)9、选择 Exit,回车10、选择 Create-new-database ,回车。

此时数据库应该已经建立。

查看某个数据库的表空间:1、使用dbaccess进入informix交互环境2、选择Database,回车3、选择 Select,回车4、选择局数据数据库bureaudb,回车5、选择Info,回车6、选择dBSpace,回车图中rootdbs位置显示的即是表空间关键字: dbschema工具:1)导出数据库中所有的表结构到文件db.sql$>dbschema -d your_database -t all db.sql2)导出数据库中所有的存储过程到文件db.sql$>dbschema -d your_database -f all db.sql3)导出数据库中的所有对象(包含表,存储过程,触发器。

)到文件db.sql $>dbschema -d your_database db.sql4)导出数据库中一个表的结构到文件db.sql$>dbschema -d your_database_name -t your_table_name db.sql5)导出一个存储过程定义到文件db.sql$>dbschema -d your_database_name -f your_procedure_name db.sql6)如果导出更多的表的信息(EXTENT...)$>dbschema -d your_database_name -ss db.sql7)导出数据库中对用户或角色的授权信息$>dbschema -d your_database_name -p all$>dbschema -d your_database_name -r all8)导出数据库中的同义词$>dbschema -d your_database_name -s all导出数据库表结构:dbschema -d database > database.sqldbschema -t tablename >tablename.sql-d表示导出整个数据库的表结构,-t表示导出某一个数据表的表结构。

Informix常用命令使用指导书.doc

Informix常用命令使用指导书.doc

常用Informix Online 工具1 oncheck基本功能:检查,修复,显示相关内容2 oninit2.1仅初始化共享内存•oninit启动数据库服务器•oninit -p启动数据库服务器,不搜索临时表.(速度更快)•附加-S参数表示初始化到quiescent状态2 .2初始化磁盘空间及共享内存•oninit -i初始化数据库服务器,原先所冇信息丢失•oninit -is初始化数拯库服务器到quitscen状态,原先所有信息丢失3 onload4 onlog5 onmode5.1改变Online状态5 .2强迫检测点•onmode -c :强迫检测点事件(checkpoint)发生,强迫逻辑日志文件释放。

5 .3改变共享内存驻留•onmode -n :终止Online共享内存驻留部分强迫驻留。

•onmode -r :启动Online共享内存驻留部分强迫驻留。

•onmode -F :释放未使用的共享内存5.4选择逻辑日志文件•onmode -1:从当前逻辑日志文件开始,选择下一个逻辑日志文件6 onparamsUsage: onparams { -a ~d DBspace [-s size]-d -1 logid [-y] |-p -s size [~d DBspace] [-y] }( -y - Automatically responds 〃yes〃to all prompts)6.1增加逻辑日志~a 一Add a logical log6.2删除逻辑日志-d - Drop a logical log6.3改变物理Fl志大小和位置-p 一Change physical log size and location7 onspacesonspaces { -a spacename -p pathname -o offset -s size [-m path ofset] I-c {-d DBspace [-t] I -b BLOBspace -g pagesize}-p pathname ・o offset ・s size [-m path offset] I-d spacename [-p pathname -o offset]卜y] I-f[y] off [DBspace-list] I on [DBspace-list] Ispacename {・p pathname offset ・m path offset 卜y] I -f filename}Ispacename [-y ] I-s spacename -p pathname -o offset {-O I -D} f-y] }7.1创建数据空间-c - Create a DBspace or BLOBspace7 .2删除数据空间-d - Drop a DBspace, BLOBspace or chunk7.3增加数据块(chunk)-a - Add a chunk to a DBspace or BLOBspace7.4删除数据块(chunk)-d - Drop a DBspace, BLOBspace or chunk7 .5设置镜相・ Add mirroring to an existing DBspace or BLOBspace7 .6取消镜相-r - Turn mirroring off for a DBspace or BLOBspace7 .7改变数据块状态-s - Change the status of a chunk7.8设置DATASKIP参数・f ・ Change dataskip default for specified DBspaces8 onstat8・1显示数据空间dbspace状态信息onstat -d显示如下:INFORMIX-OnLine Version 7.13.UC1 - On-Line - Up 17:2&27 - 17512 Kbytes Dbspacesaddress number flags fchunk nchunks flags owner namec24220e8 1111N informix rootdbsc24223d82121N informix workdbsC24224403131N informix recorddbs3 active, 2047 maximumChunksaddress chk/dbs offset size free bpages flags pathnameC2422150 1102500015815PO-/opt/informi x/data/ot C24222282202500023803PO-/opt/informix/data/ws C24223003302500024939PO-/opt/informix/data/rs8 .2显示会话连接信息 • Onstat -g ses [session id] 例如:onstat -g sesINFORMIX-OnLine Version 7.13.UC1- On-Line - Up 0&09:00 - 22176 Kbytessession#RSAM total usedid user tty pidhostname threads memory memory 67 informix ・ 0- 08192 7024 64 tellin ttyp2 1255 TELLIN 1 172032 16717659 tellin ttyp6 29772TELLIN 1 57344 27584 55informix ・ 0 -8192 7024 6informix -163848256附: • 根据session id 可以用onstat -g sql [id]获得SQL 语句的信息 •ps -eflgrep [pid]可以得到该进程名称信息8 .3显示SQL 语句状态 onstat -g sql [sesion id] 8 .4显示系统信息日志 onstat -m8 .5显示profileonstat -p8 .6显示LRU 状态(Least・Recent Used)例如:onstat -R显示如下:8 buffer LRU queue pairs# f/m length % of pair t)tal0 f 24 96.0% 251 m 1 4.0%2 f 25 100.0% 253 m 0 0.0%4 f 26 100.0% 265 m 0 0.0%6 f 25 100.0% 257m 0 0.0%8f 25 100.0% 259 m 0 0.0%10 F 24 100.0% 2411 m 0 0.0%12 f 24 96.0% 2513 m 1 4.0%14 f 25 100.0% 2515 m 0 0.0%2 dirty, 200 queued, 200 total, 256 hash buckets, 2048 buffer size start clean at 60% (of pair total) dirty, or 15 buffs dirty, stop at 50%附:f:表示FLRU(Free/unmodified Least-Recent Used)m:表示MLRU(Modified LRU)LRU的数Fl对应ONCONFIG中的LRUS参数(示例中为8) 当MLRU过大时,可调整ONCONFIG屮CLEANER参数用onmode y(强迫检测点发生)命令刷新MLRU.8 .7查看内存信息表•Lock TableOnstat -k :显示行一级Lock信息•Transaction TableOnstat -x:显示事务信息表•User TableOnstat-u:显示用户线程信息•BuffersOnstat -b:当前使用的缓冲区信息/onstat -B :显示所有缓冲区信息8 .8查看当前活动线程onstat -g act8 .9杳看网络状态•网络服务信息onstat -g ntd•网络邮件信息onstat -g ntm•网络用户信息onstat -g ntu9 ontape9」备份Online管理的文档数拯9.2改变数据库H志状态93备份逻辑日志文件9・4连续逻辑日志文件备份9.5从备份文档恢复数据9 .6使用数据复制10 onunload功能:把数据库和表写到磁盘或磁帯文件中.。

Informix SQL 语句详解

Informix SQL 语句详解

Informix SQL 语句详解Informix SQL 语句详解(1)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 DATABASEdatabase_name:数据库名称。

此语句之后,只有下列语句合法:CREATE DATABASE;DATABASE;DROP DATABSE;ROLLFORWARD DATABASE;删除数据库前必须使用此语句。

例:close database;4. 删除指定数据库:DROP DATABASE database_namedatabase_name:数据库名称。

用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。

例:drop databse customerdb;5. 创建表或临时表:CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) [IN “pathname”]table-name :表名称。

INFORMIX SQL语法与规范

INFORMIX SQL语法与规范

一、INFORMIX SQL语法DML (Data Manipulation Language commands) 数据操纵语言DDL (Data Definition Language commands) 数据定义语言TCC (Transaction Control commands) 事务控制语言SCC (System Control commands) 系统控制语言1、AlterALTER TABLE < 表名>[ ADD < 新列名> < 数据类型> [ DEFAULT < 缺省值> ] [ 完整性约束名] [ BEFORE 列名] ][ DROP < 列名> ][ MODIFY [ < 列名> < 数据类型> [ NULL | NOT NULL ] ] ] ;ALTER TABLE < 表名>[ ADD CONSTRAINT[ UNIQUE ( 列名) ][ DISTINCT ( 列名) ][ PRIMARY KEY ( 列名) ][ FOREIGN KEY ( 列名) REFERENCES < 表名. >( 列名) ON DELETE CASCADE ][ CONSTRAINT < 约束名> ] ][ DROP CONSTRAINT < 约束名>][ MODIFY NEXT SIZE数值(单位KB) ][ LOCK MODE ( PAGE | ROW | TABLE ) ] ;2、RenameRENAME COLUMN < 表名.旧字段名> TO < 表名.新字段名> ;RENAME TABLE < 旧表名> TO < 新表名> ;RENAME DA TABASE < 旧数据库名> TO < 新数据库名> ;3、GrantGRANT [ CONNECT | RESOURCE | DBA ] TO < PUBLIC | 用户> ;GRANT < [ ALL | , SELECT | , INSERT | , UPDA TE | , DELETE ] ON < 表名> TO < PUBLIC | 用户> ; GRANT EXECUTE ON < 存储过程名称> TO < PUBLIC | 用户> ;4、RevokeREVOKE [ CONNECT | RESOURCE | DBA ] FROM < PUBLIC | 用户> ;REVOKE < [ ALL | , SELECT | , INSERT | , UPDATE | , DELETE ] ON < 表名> FROM < PUBLIC | 用户> ; REVOKE EXECUTE ON < 存储过程名称> FROM < PUBLIC | 用户> ;5、LoadLOAD FROM < 文件名> [ DELIMITER …delimiter‟ ] INSERT INTO < 表名>(字段) ;6、UnloadUNLOAD TO < 文件名> [ DELIMITER …delimiter‟ ] < 复合select 语句> ;7、Update StatisticsUPDA TE STA TISCTICS FOR PROCEDURE < 存储过程名> ;UPDA TE STA TISCTICS [ LOW | MIDIUM | HIGH ]FOR TABLE [ < 表名| synonym >[ (字段名) ] ] [ DROP DISTRIBUTIONS ] ;二、INFORMIX SPL语法1、CallCALL PROCEDURE存储过程名称(参数) [RETURNING 返回值参数] ;2、ContinueCONTINUE [FOR | FOREACH | WHILE] ;3、DefineDEFINE GLOBAL < 变量> [ < 数据类型> [ DEFAULT 缺省值] ] | [ REFERENCES [ BYTE | TEXT ] ] ; DEFINE < 变量>[ < 数据类型> | [ REFERENCES [ BYTE | TEXT ] | PROCEDURE LIKE < 表名.列名> ] ;4、ExitEXIT [FOR | FOREACH | WHILE]5、ForFOR < 变量> = < 开始> TO < 结束> [ STEP < 步长> ]END FOR ;FOR < 变量> IN < 范围表达式>END FOR ;6、Foreach7、IfIF < 条件> THEN< 语句>[ ELIF < 条件> THEN< 语句> ][ ELSE< 语句> ]END IF8、LetLET变量=数据(可以是表达式,并且可以多个一起赋值) ;9、On Exception10、Raise Exception11、ReturnRETURN [ < 表达式> WHILE RESUME ] ;12、System13、Trace14、WhileWHILE < 条件>< 语句>END WHILE ;三、标量函数1、数值标量函数ABS(n) 求n的绝对值MOD(n,m) 求n被m除的余数POW(n,m) 求n的m次方ROUND(n,m) 把n四舍五入,保留m位小数ROOT(source,index) 大于最大TRUNC(source,+,-,position) 截位2、字符型函数LENGTH(char) 求char的长度CHAR_LENGTH(char) 求char的长度LOWER(char) 把char中的字符改成小写UPPER(char) 把char中的字符改成大写LPAD(char1,n[,char2]) 从左侧用char2补齐char1至长度nRPAD(char1,n[,char2]) 从右侧用char2补齐char1至长度nTRIM(char) 去左右空格SUBSTR (str,n,m) 在str中从位置n开始截取长度为m的字符串REPLACE(source_string,old_str,new_str)3、日期型函数TODAY返回当前数据库服务器系统日期CURRENT返回当前数据库服务器系统日期和时间DAY(date or datetime) 返回1--31MONTH(date or datetime) 返回1--12WEEKDAY (date or datetime) 返回0—6YEAR(date or datetime) 返回四位年份4、空值函数NVL(<参数1>,<参数2>) 如参数1不是空值,返回其值,否则返回参数2的值6、条件标量函数ExecuteEXECUTE PROCEDURE存储过程名称(参数) [RETURNING procedure_var]CaseCASEWHEN条件THEN动作…………ELSE动作ENDCASE < 字段>WHEN值THEN值…………ELSE值ENDselect mobile_number,join_date,casewhen mobile_number>‟139********‟ and mobile_number<‟139********‟ then …斗门‟when mobile_number>‟138********‟ and mobile_number<‟139********‟ then …珠海‟……………else …珠海‟end,pinpai_code,sfzh_codefrom f01_customer ;select mobile_number,case pinpai_codewhen “0” then “全球通”when “1” then “模拟机”when “2” then “本地通”when “4” then “大众通”else “全球通”end,join_datefrom f01_customer空值转换Nvlselect mobile_number,nvl(spending_code,999) from f01_customer多重条件判断语句:Decodeselect mobile_number,decode(pinpai_code,‟0‟,‟全球通‟,‟1‟,‟模拟机‟,‟2‟,‟本地通‟,‟4‟,‟大众通‟,‟全球通‟) from f01_customer四、集合函数A VG(e) 求一组行中e值的平均值COUNT(e) 计算一组行中e值为非空值的行数COUNT(*) 计算表中的行数MAX(e) 计算一组行中e值的最大值MIN(e) 计算一组行中e值的最小值SUM(e) 计算一组行中e值的总和五、数据类型六、INFORMIX SQL使用常识1、语句书写层次分明,风格尽量保持一致2、强制使用/不使用索引强制使用索引:select * from emp where empno > 0 ;select * from emp where ename > ‘’;强制不使用索引:select * from emp where empno + 0 > 0;select * from emp where ename || ‘’= ’scott‘3、有效利用索引避免对索引列进行计算select * from emp where sal * 0.2 > 500改为select * from emp where sal > 2500避免在索引列使用NOTNOT > 改为< = NOT = 改为<> NOT>= 改为<NOT < 改为>= NOT<= 改为>避免在索引列使用NULLselect * from emp where sal IS NOT NULL改为select * from emp where sal > 04、减少访问数据库的次数select * from emp where empno = 1234;select * from emp where empno = 4321;改为select a.* , b.* from emp a, emp bwhere a.empno = 1234and b.empno = 4321;select ename from emp where empno = 1234 and sal=3000;select ename from emp where empno = 1234 and sal=5000;改为Select Decode(sal,3000,ename,null) ename1,Decode(sal,5000,ename,null) ename2From empno where empno = 1234 ;5、update语句时要注意后面的WHERE 条件,特别是在子查询之外的WHERE条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【文档名称】:Informix数据库dbaccess工具执行SQL语句操作说明
【背景说明】
部分工程经常要对数据库进行操作,而各省客服及驻点同事对相关操作不熟悉,现整理一份实用的操作说明。

【适用范围】
适用设备:Informix-9.4,Informix-11.5
【文档正文】
1)用informix账户登录操作系统,在开始菜单中打开“ol_实例名”。

2)直接输入dbaccess并回车。

选择Connection,然后选择Connect。

3)选择数据库实例。

一般只有一个,直接回车即可。

4)输入用户名informix,回车。

5)输入数据库密码,回车。

6)下方提示已连接。

7)直接按回车,然后选择Exit回车。

8)选择第一个Query-language回车。

9)选择Use-editor回车。

10)直接回车,默认用记事本打开编辑器。

11)将SQL语句粘贴到记事本。

12)关闭,选择保存,然后选择Run,回车,查看返回结果是否成功。

常用SQL语句:
1、导出某张表。

(需注意当前用户对该目录是否有写入权限,否则会导出失败)unload to 'C:\_analarmtype' select * from _analarmtype; 导出_analarmtype表并保存到C盘根目录。

2、删除某张表。

delete from _analarmtype;
3、导入某张表。

load from 'C:\ _analarmtype ' insert into _analarmtype;
4、查询某张表的条目数。

select count(*) from analarmhis; 查询历史告警条目数
select count(*) from ancurrentalarm; 查询当前告警条目数
DBACCESS基本讲解.
doc。

相关文档
最新文档