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),这里以阿里云的虚拟主机中的数据为例,其他类似,参照修改即可。

% 连接数据库

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