INFORMIX数据库参考(草稿):
Informix环境
数据库对象
Informix | |
列数 | 2,767字符串长度必须小于等于255 |
行数 | 32,767字节 |
最大行数 | 不限(只要表容量保持在64 GB以内) |
二进制大对象(Blob)型存储 | 无法存储在表或二进制大对象空间内 |
集化表索引 | 每表1个(按索引组织的表) |
非集化表索引 | 77个(假设表内存在一个范围,每个键只有一个组成部分) |
单个索引中的最大列数 | 16 |
索引中的最大列值长度 | 255字节 |
表命名规则 | [[database.]owner.]table_name[@Server] |
视图命名规则 | [[database.]owner.]table_name[@Server] |
索引命名规则 | [[database.]owner.]table_name[@Server] |
数据库对象标识符
Informix |
标识符名称最长可达128字节。 |
标识符名称可以字母字符或下划线开始,并包含文字数字式字符、下划线(_)或美元符号($)。 |
数据库名称必须在Informix实例中具备唯一性(除在ANSI模式下为owner.database之外) |
标识符名称必须在用户账户(数据库)范围内具备唯一性。 |
列名必须在表和视图范围内具备唯一性。 |
索引名称必须在数据库范围内具备唯一性。 |
限定表名称
当您对存在于Informix用户账户中的表进行访问时,只需利用不受限制的名称即可将表选中。对其它Informix数据库中的表进行访问需要为表名冠以数据库名,并在两者之间用圆点(.)分隔。Informix的相似限定方法提供了更大的位置透明度。Informix还允许利用表所有者对表加以识别。
访问存在于…之中的表 | Informix |
用户账户 | SELECT * FROM STUDENT |
其它架构 | SELECT * FROM STUDENT_ADMIN.STUDENT |
数据类型
1.与sql server的比较
Informix | Microsoft SQL Server |
CHAR | 建议使用char型变量。由于char型数据列使用固定存储长度,因此,它们接受访问的速度在某种意义上高于varchar型数据列。 |
VARCHAR 与TEXT, NTEXT与 IMAGE | varchar或text。(如果Informix列中的数据值长度小于等于8000字节,就应使用varchar型变量;否则,必须使用text型变量。) NTEXT、TEXT和IMAGE可在单个赋值内最多保存2 GB数据。 而NTEXT则是TEXT类型的Unicode版本 |
NCHAR NVARCHAR | CHAR和VARCHAR的Unicode字符数据版本 |
BLOB | varbinary或image型变量。(如果Informix列中的数据值长度小于等于8000字节,就应使用varbinary型变量;否则,必须使用image型变量。) |
INTEGER SMALLINT TINYINT BIGINT FLOAT SMALLFLOAT MONEY SMALLMONEY DECIMAL NUMERIC | 如果整数值域在1到255之间,应使用tinyint型变量。 如果整数值域在-32768到32767之间,应使用smallint型变量。 如果整数值域在-2,147,483,647到2,147,483,647之间,应使用int型变量。 如果您需要使用浮点型数字,请使用numeric型变量(具有精度和刻度)。 说明:不要使用float或real型变量,因为可能出现四舍五入的情况(Informix的INTEGER型变量和SQL Server的numeric型变量均不执行四舍五入运算)。 money型变量值域在-922,337,203,685,477.5808到+922,337,203,685,477.5807之间。 而smallmoney型变量值域则在-214,748.3648到+214,748.3647之间。 |
BINARY, VARBINARY | 二进制数据既可具有固定长度(binary),又能具有可变长度(varbinary) binary型变量值域为1到8000,存储容量为n+4字节 varBinary为可变长度二进制变量,存储容量为数据长度+4字节。 |
DATE DATETIME SMALLDATETIME | datetime. smalldatetime型变量可显示的日期范围在1900年1月1日到2079年6月6日之间 |
BIT | 取值为1、0或NULL的整数型变量 |
ROWID SERIAL | 使用标识列数据类型。 |
USER | USER |
常用语气
1生成表
CREATE TABLE
table_name
(
{col_name column_properties
[default_expression] [constraint [constraint
[...constraint]]]| [[,] constraint]}
[[,] {next_col_name | next_constraint}...]
)
[Informix Specific Data Storage Parameters]
table_name
(
{col_name column_properties
[default_expression] [constraint [constraint
[...constraint]]]| [[,] constraint]}
[[,] {next_col_name | next_constraint}...]
)
[Informix Specific Data Storage Parameters]
Informix数据库对象名既可区分大小写,又可不区分大小写(设定DELIMIDENT环境变量,并用双引号将对象名括起来)。
2生成临时表
SELECT * INTO TEMP STUDENTBACKUP FROM STUDENT [WITH NO LOG]
3创建视图
CREATE VIEW view_name
[(column_name [, column_name]...)]
AS select_statement
[WITH CHECK OPTION]
[(column_name [, column_name]...)]
AS select_statement
[WITH CHECK OPTION]
4索引
CREATE [UNIQUE | DISTINCT] [CLUSTER] INDEX index_name
ON table_name (column_name [, column_name]...)
[ASC | DESC]
[FILLFACTOR n]
[IN tablespace_name]
DROP INDEX ABC;
ON table_name (column_name [, column_name]...)
[ASC | DESC]
[FILLFACTOR n]
[IN tablespace_name]
DROP INDEX ABC;
5对象级权限
GRANT {ALL [PRIVILEGES][column_list] | permission_list [column_list]}
ON {table_name [(column_list)]
| view_name [(column_list)]
| synonym name [(column_list)]
| stored_procedure_name}
TO {PUBLIC | name_list | role_name }
[WITH GRANT OPTION]
[AS grantor]
REVOKE {ALL [PRIVLEGES]}
ON {table | view | synonym }
FROM { user | user list | role }
[CASCADE | RESTRICT]
ON {table_name [(column_list)]
| view_name [(column_list)]
| synonym name [(column_list)]
| stored_procedure_name}
TO {PUBLIC | name_list | role_name }
[WITH GRANT OPTION]
[AS grantor]
REVOKE {ALL [PRIVLEGES]}
ON {table | view | synonym }
FROM { user | user list | role }
[CASCADE | RESTRICT]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论