matlab与mysql数据库_Matlab连接MySQL并实现简单的数据库操作

本文介绍了如何使用MATLAB连接到MySQL数据库,并执行基本的查询操作。首先,需要将MySQL驱动文件拷贝到MATLAB的指定目录并更新classpath.txt。接着,通过'database'函数建立连接,使用'exec'和'fetch'执行SQL查询。示例代码包括查询、获取数据以及处理查询结果。此外,还分享了一些常用的SQL语句。
摘要由CSDN通过智能技术生成

原文链接:https://blog.csdn.net/Sebastien23/article/details/74502863

最近用matlab鼓捣数据处理,深感数据库之好用。

仅此以记录,以后要多写数据库操作。

我的电脑中的代码:

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

curs = exec(conn, 'select * from user')

curs = fetch(curs)

ress = curs.Data;

a1 = ress(1,3)

a2 = ress{1,3}

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];

end

end

附上常用的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'; --以指定分隔符方式导入本地文本数据

MATLABMYSQL爬虫-zhgd.m 本帖最后由 caicaibi 于 2018-7-20 11:48 编辑 一、引言         最近有朋友问我MATLAB怎么弄爬虫,下载的大量数据怎么实现归类,借此,我弄了一个MATLAB爬虫,然后将下载的数据存储到MYSQL数据库的例子,在这里分享给大家。希望想做这方面的朋友,能对基本内容有所了解。 二、环境配置 1.MATLAB R2012a   2.安装JDBC驱动 链接:https://pan.baidu.com/s/18GarT6io5LgQy1nfoRL-5g 密码:alpp 3.MYSQL(很多新手看到MYSQL的cmd框,头都要大了,不知道怎么开启,关闭等操作,建议新人不要直接安装MYSQL,去下载wampserver2.5,它里面包含了MYSQL,是一个集成化的包,安装非常方便,在运行时,只要看到它的标志变绿,就可以了。) 软件图标:                                 正常运行状况:                                 4.Navicat for mysql 链接:https://pan.baidu.com/s/1904BVG-OOXlnn2W5DdlIkA 密码:3xr0 软件图标:                                 软件界面: 见后面图片 三、爬虫抓取界面解析 1.抓取对象:          中航光电 -> 产品中心 2.抓取网址: http://www.jonhon.cn/procuct/show-388.aspx 3.抓取内容: 见后面图片 4.对象特征: i.类别:   见后面图片 分析:每个对象都是一个  href标签,里面有  /cplist1.aspx?category_id=2 类似的标志,作为正则表达式的筛选对象 ii.图片:见后面图片 分析:每张图片都为   bimg 图片,作为正则表达式的筛选对象。注意:每种产品不一定是一张图片,需要对多张图片进行考虑 iii.简介:见后面图片 分析: 简介末尾都有    <!--/商品属性-->   ,作为正则表达式的筛选对象 四、MYSQL操作 1.开启mysql 运行wampserver.exe,绿色图标表示成功运行。 2.创建数据库,数据表 具体见教程: http://www.formysql.com/jiqiao/mysql-xinjianbiao.html 3.MATLAB连接MYSQL conn = database;%连接数据库 cursorA = exec;%执行增删改查操作 cur = fetch;%返回结果,最后得到的数据以cell格式,存在cur.Data中复制代码 参数解析: database; 第一个参数:数据库的名称,就是要操作数据库的名称 第二个参数:用户名 第三个参数:密码 第四个参数:连接的驱动,这里就写这个,不用改 第五个参数:数据库连接路径吧,jdbc:mysql://,前面这个是jdbc,用mysql数据库,后边是具体的路径,数据库的IP,端口,和数据库的名称,跟第一个参数一样 五、程序流程 1.开启数据库 -> 使用循环,凑齐网址 -> 采用urlread抓取页面 2.根据抓取的对象html特征,制定不同的正则表达式筛选出需要的内容     2.1类别:提前的关键字,用\连接,组成创建目录的格式,mkdir函数创建目录     2.2图片:提取图片地址,判断图片数量,去前缀,补充链接,使用urlwrite 将图片下载到目录中,保存。     2.3简介:提取标签,新建readme.txt,将简介写入文本中 3.文本写入数据库     将[编号,目录,图片数量,网址,摘要]写入数据库。 具体命令,学习sql语句 sql学习网址:http://www.w3school.com.cn/sql/index.asp 六、程序代码 见附件 七、结果 见后面图片 见后面图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值