Matlab连接云端虚拟主机数据库

之前用 matlab 做过挺多小的 gui 界面,比如这个。在很多情况下需要用到数据库,自己做着玩玩我喜欢使用网站的数据库,因为是现成的,也不用配置啥。如果您正好有一个这样的数据库,那么给 matlab 当作数据库玩玩还是挺好的。

准备工作

  • Matlab 在连接数据库时需要下载安装 MySQL 驱动文件。将解压文件中的 mysql-connector-java-5.1.42-bin.jar 拷贝到 matlab 安装文件夹的 java\jar\toolbox 下。
  • 然后找到这个路径(在你的 matlab 安装目录之下),接下来修改 matlab\R2014b\toolbox\local 下的 classpath.txt 文件,在其中添加语句(具体的文件名根据你所下载到的最新包进行更改):
$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.42-bin.jar
  • 重启 matlab

新建一个数据表

这里以阿里云的虚拟主机为例,其他的虚拟主机也类似。

  1. 你需要以下的信息:
  • 数据库地址
  • 数据库名
  • 数据库用户名
  • 数据库密码
  1. 你需要在你的云端数据库中新建一个数据表(本文举例,比如abc),然后再加几列你想要新建的数据名称( 本文举例,比如第一列name, 第二列date , 第三列item ,第四列number、第五列total )。

  2. 此外,如果想要进行测试的话,可以通过随机新建数据随机生成一堆你想要的数据(日期、数字、文字等),用来进行 matlab 和数据库的模拟操作。

连接你的数据库

连接数据库时主要添加下面的一行代码即可,网上的许多参考资料都是连接本地数据库(比如 localhost),这里以阿里云的虚拟主机中的数据为例,其他类似,参照修改即可。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
% 连接数据库

q=database('数据库名(阿里云中是***_db)','数据库用户名','数据库密码','com.mysql.jdbc.Driver','jdbc:mysql:数据库名.my3w.com:3306/(以阿里云为例,其他根据实际情况而变)')

% 读取数据

curs=exec(q,'select * from abc')  %从数据库q中选取表abc

curs=fetch(curs) %把数据库中的数据读取到Matlab中

curs=fetch(curs,RowLimit); %RowLimit为每次读取的数据参数的行数,不填就默认为全部读取


% 读取特定的数据

non_solve=exec(q,"select * from abc WHERE name='Jack' and total='1000' ")

% 向数据库中插入数据

insert(q,'abc',{'name','date','item','number','total'},{name,date,item,number,total}) %向abc表中插入一行新的数据,第一个大括号内是数据库表内每一列的名称,第二个大括号内是数据在matlab内的变量名


% 其他有用的参数

numrows=rows(curs)  %查看数据行数

numcols=cols(curs)  %查看数据列数

attribute=attr(curs)  %查看数据属性</pre>

参考资料

https://blog.csdn.net/vinegar93/article/details/53928326

updatedupdated2020-05-272020-05-27

以上是自己提供的广告