当前位置: 首页 > 工具软件 > Informix > 使用案例 >

informix数据库大全(持续更新)

阎咏思
2023-12-01

1 数据库操作常用命令:

1.1登陆命令,putty或者ubuntu命令

dbaccess databaseName

1.2执行sql脚本命令 :

 dbaccess databaseName sqlExample.sql

数据导出 :

 unload to "fileName.txt"
 select columnsName1,columnsName2,...,columnsNames from tableName

1.3 informix数据类型

数字

integer #整形
smallint #短整型
bigint #长整型
serial #自增,4字节
serial8 #自增,8字节
bigserial	#自增,8字节
decimal(p,s) #金融领域专用,p是有效位,s是小数点,比如decimal(4,2),表示总位数是4,小数点保留2,如果输入222.22,那么结果就是22.22 
float #浮点型,双精度,8字节,16位十进制有效位
smallfloat #浮点型,单精度,4字节,8位十进制有效位
money(p,s) #与decimal完全相同,但是显示金额的时候会显示金钱类型,默认$

时间

date #日期类型
datetime #时间类型,常用year to second,表示从年开始,精确到秒
interval #表示两个时间点之间的间隔,常用hour to second,表示小时到秒

字符相关

char(n) #定长字符,n最大为255
varchar(n,r) #可变字符类型
nchar(n) #同char,但是允许GLS应用程序的不同排序顺序
nvarchar(m,r) #同varchar,但是允许GLS应用程序的不同排序顺序
lvarchar(m) #变长字符串,最大32739字节
character varying(n,r) #存储用户定义的数据类型

大对象相关的

byte #二进制数据类型,最大2的31次方的字节,一般用来存储文件或者声音等
text #文本类型,最大2的31次方字节
blob #以随机存取块的形式存储二进制数据
clob #以随机存取块的形式存储文本数据

布尔类型

boolean #布尔类型,true,false

2 表操作常用命令

2.1 建表语句(索引),以及赋权,收回权限

#建表
create table tableName(
tableColumn type [not null unique]
)
extent size 2400000 next size 1200000 lock mode row;
#创建索引
create index indexName on tableName(columnName);
#赋权给xxx
grant [type](select delete) on tableName to user;
#收回权限
revoke all on tableName from user;

2.2 删表、索引语句(跑路专用)

#删除表
drop table tableName;
#删除索引
drop index indexName;

2.3 数据库字段修改命令:

alter table tableName add (columns cloumnsType unique)

2.4 数据库表增删查改命令:

#新增
insert into tableName(columnsName1,columnName2,...,columnNames) values ('columnsValue1','columnsValue2',...,'columnsValues');
#删除
delete tableName where condition;
#查询
select columnsName1,...,columnsNames from tableName where condition [order by columnsName] [group by columnsName];
#修改
update tableName set columnsName1='columnsName1' where condition;
#清空表
truncate table tableName;

3.sql函数

3.1 类型转换函数:

时间转换将datetime year to fraction(5)转换成字符串:

to_char(xxx,'%Y-%m-%d %H%M%S') as xxx

字符串截取函数

#exam:substr('hello world!',-1,1)取值为!
substr('columnsName',startIndex,length)

3.2 内部函数

内部合计函数

#返回行数
COUNT(*)
#唯一值函数
distinct(*)
#求和函数
SUM(COLNAME/EXPRESSION)
#平均值
AVG(COLNAME/EXPRESSION)
#最小值
MIN(COLNAME/EXPRESSION)
#最大值
MAX(COLNAME/EXPRESSION)

日期与时间函数

#返回指定表达式中的当月几号
DAY(DATE/DATETIME EXPRESSION)
#返回指定表达式中的月份
MONTH(DATE/DATETIME EXPRESSION)
#返回指定表达式中的年份
YEAR(DATE/DATETIME EXPRESSION) 
#返回指定表达式中的当周星期几
WEEKDAY(DATE/DATETIME EXPRESSION)
#返回指定表达式代表的日期值
DATE(NOT DATE EXPRESSION)
#返回当前日期的日期值
TODAY
#返回当前日期的日期时间值
CURRENT[first to last] 
#返回指定精度的指定单位数
COLNAME/EXPRESSION UNITS PRECISION 
#返回标识指定年、月、日的日期值
MDY(MONTH,DAY,YEAR)
#FIRST TO LAST 返回表达式代表的日期时间值
DATETIME(DATE/DATETIME EXPRESSION)
#返回经过调整的日期或日期时间
EXTEND(DATE/DATETIME EXPRESSION,[first to last])

代数函数

# 取绝对值
ABS(COLNAME/EXPRESSION):
#返回除以除数后的模(余数)
MOD(COLNAME/EXPRESSION,DIVISOR)
#返回一个值的指数冥
POW(COLNAME/EXPRESSION,EXPONENT) 
# 返回指定列或表达式的根值
ROOT(COLNAME/EXPRESSION,[index])
#返回指定列或表达式的平方根值
SQRT(COLNAME/EXPRESSION)
# 返回指定列或表达式的圆整化值
ROUND(COLNAME/EXPRESSION,[factor])
#返回指定列或表达式的截尾值
TRUNC(COLNAME/EXPRESSION,[factor]) 

指数与对数函数

#返回指定列或表达式的指数值
EXP(COLNAME/EXPRESSION)
#返回指定列或表达式的自然对数值
LOGN(COLNAME/EXPRESSION) 
#返回指定列或表达式的底数位10的对数值
LOG10(COLNAME/EXPRESSION)

三角函数

#返回指定弧度表达式的余弦值
COS(RADIAN EXPRESSION)
#正弦
SIN(RADIAN EXPRESSION)
#正切
TAN(RADIAN EXPRESSION)
# 反余弦
ACOS(RADIAN EXPRESSION)
# 反正弦
ASIN(RADIAN EXPRESSION)
#反正切
ATAN(RADIAN EXPRESSION) 
#返回坐标(X,Y)的极坐标角度组件
ATAN2(X,Y) 

统计函数

#返回指定列的最大值与最小值之差 = MAX(COLNAME)-MIN
RANGE(COLNAME) 
#返回指定列的样本方差; 
VARIANCE(COLNAME)
#返回指定列的标准偏差;
STDEV(COLNAME) 

其他函数

#返回当前用户名
USER
#返回指定字符列或表达式的长度
LENGTH(COLNAME/EXPRESSION)
#删除指定列或表达式前后的字符
TRIM(COLNAME/EXPRESSION)
#返回并在一起的字符;
COLNAME/EXPRESSION || COLNAME/EXPRESSION

3.3 IDS内部函数

1、DBSERVERNAME返回数据库服务器名let tmp_char=DBSERVERNAME
  2、SITENAME返回数据库服务器名let tmp_char=SITENAME
  说明:两者功能相同;
  3、DBINFO(‘SPECIAL_KEYWORD’)返回只关键字值
  例子1:返回数据中每个表的DBSPACE名称
  select dbinfo(‘dbspace’,partnum),tabname from systables
  where tabid>99 and tabtype=‘T’(OK)
  例子2:返回任何表中插入的最后一个SERIAL值
  select dbinfo(‘sqlca.sqlerrd1’) from systables where tabid = 1
  例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数;
  select dbinfo(‘sqlca.sqlerrd2’) from systables where tabid=1;

 类似资料: