在上一篇文章安装完Navicat For MySQL并连接至本地服务器之后,我们在MySQL中任意创建一个test数据库,在里面创建一个user表,在连接数据库时,大家别忘了打开MySQL服务,从cmd输入命令行或者任务管理器的服务中找到就可以打开。
我创建的user表就如下图:
这样就创建好了一个表,接下来我们要将MySQL和MATLAB连接,我们第一步要做的就是下载MySQL的jdbc驱动,这里我给大家一个网址,可以在这里面下载:http://ftp.jaist.ac.jp/pub/mysql/Downloads/Connector-J.
这里我下载的是8.0.17版本,下载完成后,将mysql-connector-java-8.0.17-bin.jar拷贝到安装MATLAB的java/jar/toolbox中。
之后打开E:\Matlab\toolbox\local目录classpath.txt文件,添加用来加载MySQL的jdbc驱动语句,语句如下:
$matlabroot/java/jar/toolbox/mysql-connector-java-8.0.17-bin.jar
之后重启MATLAB,获取连接对象:
>> conn = database('test', 'root', '123456', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/test')
注意,这是我第一次上网查到的写法,但是由于我下的是8.0以上版本,所以com.mysql.jdbc.Driver要改为com.mysql.cj.jdbc.Driver,运行一下,发现有错误:
这个message可以从右侧conn双击打开查看,这个server time问题就是说由于是从国外网站下载,时区有问题,将其改为:
conn = database('test','root','123456','com.mysql.cj.jdbc.Driver','jdbc:mysql://localhost:3306/test?serverTimezone=UTC')运行后依旧存在问题:
我们点开conn查看message的具体信息:
发现好像是最前面的test加入到最后的true的后面去了,因为我们在后面已经写明过数据库名称,所以前面就不用再写了,改为:
conn = database('','root','123456','com.mysql.cj.jdbc.Driver','jdbc:mysql://localhost:3306/test?serverTimezone=UTC')
运行:
只要下面的AutoCommit为on,ReadOnly为off,其他信息都对的话就表明已经连接,接下来我们想要查看一下我们刚才所创建的表中信息。
首先敲入:curs = exec(conn,'select * from user'),其中user为我刚才创建的表名。
接下来 curs = fetch(curs)
最后取数据出来:cur = curs.Data
这样就可以看到我们刚才在Navicat For MySQL中所创建的表中信息了。希望这篇文章可以帮助到大家,谢谢。