matlab mysql交互 更新_MATLAB与SQL交互

本文介绍了如何在MATLAB中使用JDBC与MySQL数据库进行交互,包括设置classpath、建立连接、执行查询、更新数据和关闭连接的步骤。通过示例展示了打开数据库、读取数据、插入数据、更新数据以及创建新表的操作。
摘要由CSDN通过智能技术生成

转载自:http://www.matlabsky.com/forum-viewthread-tid-10302-fromuid-18677.html

在MATLAB中使用JDBC与数据库进行交互,需要先将驱动程序复制到MATLAB相关目录下,或者设置classpath。

1.下载JDBC驱动。

2.设置matlab的启动加载项,打开C:\Program Files\MATLAB\R2012a\toolbox\local\classpath.txt,在文件的最后添加刚才的jar文件,例如:F:/matlab/JDBCDriver/sqljdbc4.jar(注意这里需要用"/")

3.重新启动matlab,若不报错则认为加载驱动成功

%使用JDBC打开数据库

conn = database('db','user','pwd', 'oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@ IP:PORT:SID');

isconnection(conn);%若返回1则认为连接成功。

close(conn);%执行完数据库查询操作后,关闭数据库连接

%数据库相关操作

%先打开数据库连接conn,然后查询并返回游标

curs=exec(conn,'sqlquery');

%把数据库中的数据读取到Matlab中——fetch

curs=fetch(curs,RowLimit);

%把读取到的数据用变量Data保存.

Data=curs.Data;

%养成良好习惯,随手关闭链接对象和游标——close

close(curs);

close(conn);

数据返回类型

从数据库中读取数据到matlab有三种数据类型(默认为元胞类型cellarray),分别为元胞类型(cellarray),数字型(numeric),结构型(structure)。可以在链接数据库之前通过setdbprefs函数来进行设置。如果数据库文件中全部是数值型数据时最好采用numeric型的数据,这样可以使得读取速度大幅提高,特别是在大型数据读取时非常明显。

setdbprefs(‘datareturnformat’,’numric’)

查看数据相关信息

Rows-查看数据行数      调用格式:numrows=rows(curs)

Cols——查看数据列数       调用格式:numcols=cols(curs)

Attr——查看数据属性       调用格式:attribute=attr(curs)

添加数据到表中——insert函数   调用格式:insert(conna,’tab’,colnames,exdata)

conna——链接对象  tab——数据库文件的表名  colnames——数据库表的列名  exdata——matlab变量

如:insert(conna,'try',{'a1', 'a2'},[45 65])

commit(conna)%确认数据更改

更新数据库中的数据——update   调用格式:update(conna,’tab’,colnames,exdata,’whereclause’)

conna——链接对象  tab——数据库文件的表名  colnames——数据库表的列名  exdata——matlab变量  whereclause——SQL的where字句

如:update(conna,'try',{'a1', 'a2'},[45 65],’where XX=’XX’’)

commit(conna)%确认数据更改

建立新表——exec,creat table  调用格式:conna=database('SampleDB','','');  exec(conna,['create table Table(name string,age int)']);  close(conna);

Table——表名  name,age——字段名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值