Matlab连接MySQL并实现简单的数据库操作

来源:互联网 发布:战地使命召唤知乎 编辑:程序博客网 时间:2024/05/18 02:42

Matlab连接数据库需要下载安装MySQL驱动文件。

下载地址:点击打开链接


将解压文件中的mysql-connector-java-5.1.42-bin.jar拷贝到matlab安装文件夹的java\jar\toolbox下。

然后修改matlab\R2014b\toolbox\local下的classpath.txt文件,在其中添加语句

$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.42-bin.jar

最后重启matlab即可。


获取连接对象(dbname为连接数据库的名称)

conn = database('dbname', 'root', 'password', 'com.mysql.jdbc.Driver', 'jdbc:mysql://localhost:3306/dbname')

查询操作(tablename为表格名称)
curs = exec(conn, 'select * from tablename limit 1,10;')

获取查询结果
curs = fetch(curs)ress = curs.Data;

获取元胞
a1 = ress(1,3)

获取元胞内数据
a2 = ress{1,3}

或者也可以把元胞转化为矩阵

ress = cell2mat(ress);

如果sql语句中需要输入变量,可使用strcat函数(hour和minute均为表格中的列名称)。

tout = [];for mt = 0:5:55    sql = strcat('select * from tablename where hour = 12 and minute = ',num2str(mt));    curs = exec(conn, sql)    curs = fetch(curs)    ress = curs.Data;    ress = cell2mat(ress);        % 判断ress是否为指定数据类型    if(isa(ress,'double'))        tout = [tout; ress];    endend

附上常用的SQL语句。

select count(*) from tablename; --输出表格总行数select * from tablename limit rowLimiter,numRows; --输出表格rowLimiter之后的numRows行(numRows可超出总行数)describe tablename; --显示表格数据类型信息show tables; --显示当前数据库下所有的表格名称load data local infile 'D:/myFolder/myfile.txt' into table tablename; --将本地txt文档数据导入指定表格,同一行的数据用\t分隔delete from tablename; --删除表格内存储的数据,但保留表格的基本信息drop table tablename; --删除表格及表格内存储的数据create table tablename( id int not null, name varchar(40) not null, city varchar(20), salary int); --创建表格并指定数据类型create database dbname; --创建数据库show databases; --显示所有的数据库名称use dbname; --在指定数据库下操作load data local infile 'D:/myFolder/myfile.txt' into table tablename fields terminated by ',' lines terminated by '\n'; --以指定分隔符方式导入本地文本数据

参考资料:
http://blog.csdn.net/vinegar93/article/details/53928326
http://blog.sina.com.cn/s/blog_9d0b00a401012spy.html

原创粉丝点击