使用数据库工具箱函数.ppt_第1页
使用数据库工具箱函数.ppt_第2页
使用数据库工具箱函数.ppt_第3页
使用数据库工具箱函数.ppt_第4页
使用数据库工具箱函数.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章 使用数据库工具箱函数,12.1数据库工具箱,数据库工具箱是Matlab工具箱扩展集中的一个,使用数据库工具箱,可以从一个数据库把数据读到Matlab工作区,然后用Matlab的计算和分析工具处理数据,之后把结果保存到原来的数据库或另一个数据库,系统要求,1 平台:数据库工具箱能运行在所有支持Matlab的系统上 2 数据库:工具箱支持适合ODBC/JDBC数据库管理系统的数据库,包括:DB2、Informix, Ingres, Access, Excel, MySQL, SQL Server, Oracle, Postgre. 驱动程序:,Database,ODBC,Database Toolbox,Database Toolbox,JDBC,Database,12.2建立数据库连接,12.2.1为ODBC驱动程序建立数据源 “控制面板”“管理工具”“数据源ODBC” “添加”选择驱动程序“数据源名”“选择”数据库,12.2.2连接数据库,12.2.2连接数据库 conn=database(datasourcename, username, password) eg. conn=database(SampleDB,),12.2.3建立并打开游标 游标用来指示表中操作的位置,一个游标对象唯一对应一条有效的SQL语句 一个程序可同时建立多个游标,即进行多个查询。游标一直保持到close为止 curs=exec(conn, sqlquery) eg. curs=exec(conn, select * from 客户),12.3从数据库将数据输入到Matlab,将数据输入到Matlab,将用到多个函数,下面按照调用顺序讲解每个函数 12.3.1 logintimeout 设置最大连接时间,防止因连接失败导致Matlab挂起 timeout=logintimeout(time) timeout=logintimeout,12.3.2 database函数 conn=database(datasourcename,username,password),12.3.3 ping函数 ping(conn),12.3.4 exec函数 curs=exec(conn,sqlquery),12.3.5 setdbprefs函数 此函数对数据格式、错误处理等属性设置优先权,或者查看这些属性当前的优先权 setdbprefs(property1;,value1;) setdbprefs(property,value) setdbprefs(property) setdbprefs,1. DataReturnFormat 设置数据输入到Matlab时采用什么数据类型 可选值: (1)cellarray(default) (2)numeric (3)structure 2.ErroHanding 运行database和exec函数时,处理错误的方式 (1)store(default) (2)report (3)empty,3.NullNumberRead 输入数据时,出现NULL数,如何表示,默认NaN 4.NullNmberWrite 输出到数据库时,出现NULL数,如何表示,默认NaN 5.NullStringRead 输入数据时,数据库中的NULL串如何表示,默认NaN 6.NullStringWrite 输出到数据库时,NULL串如何表示,默认NaN eg. setdbprefs conn=database(SampleDB,) curs=exec(conn,select all 发货名称, 发货日期 from 订单); curs=fetch(curs,3); curs.Data,12.3.6 fetch函数 将数据输入到Matlab curs=fetch(curs,Rowlimit) curs.Data eg. conn=database(SampleDB,) curs=exec(conn,select all 公司名称 from 客户) curs=fetch(curs) curs.data curs=fetch(curs,5) curs.data,12.3.7 close函数 关闭数据库连接、游标对象 close(object) 先关闭游标对象,再关闭连接对象,12.3.8数据导入Matlab实例 timeout=logintimeout(5) conn=database(SampleDB,) ping(conn) cursor=exec(conn,select 公司,职务 from 客户) cursor=fetch(cursor,10) data=cursor.Data close(cursor) close(conn),12.4查看输入数据的信息,输入数据的信息包括:读入的行数、列数(字段数)、字段名、字段宽度,以及有关列的多个属性。这些函数应该在fetch之后使用 12.4.1 rows函数 得到输入数据的行数 numrows=rows(curs),12.4.2 cols函数 numcols=cols(curs) 12.4.3 columnnames函数 colnames=columnnames(curs),12.4.4 width函数 得到输入数据的列宽度 colsize=width(curs,colnum), colnum为列号 12.4.5 attr函数 得到输入数据所有列或指定列的属性 attributes=attr(curs, colnum) attributes=attr(curs),eg.将上面的5个函数插入之前的函数 numrows=rows(cursor) numcols=cols(cursor) colnames=columnnames(cursor) colsize=width(cursor,1) attrall=attr(cursor) data=cursor.Data close(cursor) close(conn),9.5 将数据从Matlab输出到数据库,9.5.1 get函数 用于得到对象的属性,常用对象有数据库连接对象,游标对象等 v=get(object) v=get(object,property) perty eg. conn=database(SampleDB,); v=get(conn),9.5.2 insert函数 用于将数据从Matlab添加到数据库表 insert(conn,tab,colnames,exdata) eg. exdata=张,先生 colnames=姓氏,名字 inset(conn,客户,colnames,exdata),9.5.3 commit函数 确认数据库的改变,使改变永久化。 commit(conn),eg. conn=database(SampleDB,) cursor=exec(conn,select 运费 from 订单) cursor=fetch(cursor,3) data=cursor.Data rownum=rows(cursor) meanA=sum(data:)/rownum D=1/20/98 C=cell(1,2) C(1,1)=D C(1,2)=meanA colnames=日期,平均运费 get(conn,autocommit) insert(conn,平均运费,colnames,C) close(cursor) close(conn),12.6更新数据库中已存在的数据,update函数 用Matlab的数据替换数据库表中的数据 update(conn,tab,colnames,exdata,whereclause) eg. colnam=城市 newdata(1,1)=长春 update(conn,客户,colnam,newdata,where 公司=东南实业),12.6.2 set函数 为连接,游标等对象设置属性值 set(object,property,value) set(object) 说明:允许set设置的连接对象属性有AutoCommit和ReadOnly 允许set设置的游标属性有RowLimit,eg. conn=database(SampeDB,) colnames=日期,平均费用 D=1/20/2013 meanA=25.2600 C=D,meanA update(conn,平均费用,colnames,C,where 日期=1/20/98) close(conn),12.7存取metadata,metadata, 数据库系统的信息,姑且称它为元数据 dmd函数 用于构造数据库metadata对象 dbmeta=dmd(conn),supports函数 a=supports(dbmeta) a=supports(dbmeta,property) perty,tables函数 得到数据库的表名 t=talbes(dbmeta,cata) dbmeta为数据库元数据对象,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论