Informix学习札记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Informix学习札记相关的知识,希望对你有一定的参考价值。

Informix学习札记:

一,启动关闭数据库脚本

启动:oninit

关闭:onmode -k

二,导入导出数据库

导出数据库

将数据库public_bak导出到目录/usr/informix/export中:

$ dbexport public_bak -o /usr/informix/export

执行结束后,会在export目录下,生成一个pubic_bak.exp目录。此目录下,有数据库创建对象的语句及数据。

$ pwd

/usr/informix/export

$ ls

public_bak.exp

$ cd public_bak.exp

$ lc

bank_00104.unl  issu_00102.unl  secu_00136.unl  sz_fu00130.unl  zls_r00123.unl

b_sec00134.unl  mer_b00101.unl  secu_00139.unl  sz_op00131.unl  zls_t00124.unl

card_00103.unl  offli00115.unl  settl00108.unl  sz_se00137.unl  zls_t00126.unl

child00107.unl  pos_i00105.unl  settl00109.unl  telle00106.unl  zls_w00122.unl

file_00116.unl  public_bak.sql  settl00110.unl  test_00120.unl  zls_w00125.unl

file_00117.unl  resp_00112.unl  settl00111.unl  trans00114.unl  zls_w00127.unl

file_00118.unl  secub00132.unl  sysme00140.unl  trans00138.unl  zls_w00128.unl

file_00119.unl  secub00133.unl  sysme00141.unl  txn_i00113.unl

hist_00100.unl  secu_00135.unl  sz_cu00129.unl  zls_h00121.unl

$

导入数据库?

导入数据库:dbimport

将/usr/informix/export目录下的public_sto子目录装入public_sto数据库。假定模式文件为/usr/informix/export/public_sto.exp/public_sto.sql。使用如下命令导入库:

$ dbimport public_sto -c -i /usr/informix/export

这样,对象及数据都导入到数据库中了。

导入数据到数据库中:dbload

$ cat test_c1.sql

FILE test_c1.unl DELIMITER ‘|‘ 2;

INSERT INTO test_c;

$ cat test_c1.unl

13|Tom

14|James

$

将 test_c1.unl中的记录,导入到数据库public_bak的表test_c中:

$ dbload -d public_bak -c test_c1.sql

DBLOAD Load Utility           INFORMIX-SQL Version 7.30.UC2  

Copyright (C) Informix Software, Inc., 1984-1998

Software Serial Number AAC#J495018

Error logging file name: test_c1

In INSERT statement number 1 of raw data file test_c1.unl.

Row number 3 is bad.

||

Reached unexpected end of line while reading field

Table test_c had 2 row(s) loaded into it.

当然,也可以加上参数来指定输出日志:

$ dbload -d public_bak -c test_c1.sql -l test_c1.log

三,导出导入数据库对象?

导出数据库对象?

导出数据库对象:dbschema

如果想要输出数据库public_bak中的表test_c的建表语句,可以使用以下语句:

$ dbschema -t test_c -d public_bak -ss test_c2.sql

DBSCHEMA Schema Utility       INFORMIX-SQL Version 7.30.UC2  

Copyright (C) Informix Software, Inc., 1984-1998

Software Serial Number AAC#J495018

$ vi test_c2.sql

"test_c2.sql" 13 lines, 268 characters 

{ TABLE "informix".test_c row size = 24 number of columns = 2 index size = 0 }

create table "informix".test_c

  (

    id integer

    default 0,

    name char(20)

  ) extent size 16 next size 16 lock mode page;

revoke all on "informix".test_c from "public";

导入数据库对象?

导入数据库的对象:dbschema

如:数据库的对象创建文件内容如下:

$ cat test_c2.sql

{ TABLE "informix".test_c row size = 24 number of columns = 2 index size = 0 }

create table "informix".test_c 

  (

    id integer 

        default 0,

    name char(20)

  );

revoke all on "informix".test_c from "public";

导入对象的命令如下(public_bak为数据库名,test_c2.sql为创建对象文件):

$ dbaccess public_bak test_c2.sql

Database selected.

Table created.

Permission revoked.

Database closed.

四,导出导入数据库数据?

导出数据?

导出数据库表中的数据:unload

用isql或dbaccess命令,进入到informix操作数据库操作界面,选择需要导出的表数据。如:导出表test_c中的数据,到文件test_c3.dmp文件中:

unload to ‘test_c3.dmp‘ select * from test_c;

$ cat test_c3.dmp

11|James|

12|David|

13|Tom|

14|James|

15|Standand|

16|Stone|

导入数据?

导入表数据:load

执行命令的方式,同unload。如:将test_c3.dmp文件中的数据导入到表test_c中:

load from ‘test_c3.dmp‘ insert into test_c;

查询验证一下:

select * from test_c

         id name

         11 James

         12 David

         13 Tom

         14 James

         15 Standand

         16 Stone

新建一个存储过程:

$ vi test_proc.sql

"test_proc.sql" 12 lines, 168 characters 

create procedure "informix".test_proc_a()

returning int;

define x int;

let x=16;

insert into test_c values( x, ‘Rolex‘ );

return x;

end procedure;

$ dbaccess public_bak test_proc.sql

Database selected.

Routine created.

Database closed.

执行存储过程:先使用命令dbaccess登录到数据库的交互环境。执行:

execute procedure test_proc_a();

执行结果:

(expression)

          16

 

Jesus loves you!

"人若赚得全世界,赔上自己的生命,有什么益处呢?人还能拿什么换生命呢? " 《圣经》( 马太福音 16:26 )

 

以上是关于Informix学习札记的主要内容,如果未能解决你的问题,请参考以下文章

Java 学习札记免安装版TomCat中tomcat6w.exe的运行

Advanced Installer 11.9基于IIS打包札记(For MySQL)

UBUNTU 札记(53条经验)

2018-03-26MySQL启动关闭常用命令学习笔记

sklearn学习札记

用于备份和恢复 Informix 数据库的脚本