此示例演示如何将数据从数据库导入MATLAB®,对数据执行计算,并将结果导出到数据库表。
该示例假设您正在连接一个包含名为的表的Microsoft®Access™数据库salesvolume
和yearlysales
。此外,本示例假设您以管理员身份启动MATLAB。的salesvolume
表中包含每个月的列名。的yearlysales
表中包含列名月
和salestotal
。
创建到microsoftaccess数据库的数据库连接。例如,这段代码假设您正在连接一个名为的数据源dbdemo
用户名和密码为空。
康涅狄格州=数据库(“dbdemo”,'','');
检查数据库连接。如果消息
属性为空,则连接成功。
conn.Message
ans = []
使用数据库连接导入3月份的销售数据。的salesvolume
数据库表包含销售量数据。
表名=“salesvolume”;data = sqlread(康涅狄格州,表名);
显示前三行销售额数据。第四个变量包含3月份的数据。
(数据(:,4),3)
ans = 3×1表3月日日981 1414 890
计算三月份销售额的总和。将结果分配给MATLAB工作空间变量总计
并显示结果。
总=总和(data.march)
总= 14606
从销售量数据中检索月份的名称。
月= data.Properties.VariableNames (4);
将要插入数据的列的名称定义为字符向量的单元格数组。
colnames = {“月”“salestotal”};
创建一个存储要导出的数据的MATLAB表。
结果=表(月,总,“VariableNames”,colnames);
确定的状态自动提交
数据库国旗。此状态确定是否可以撤消插入操作。
conn.AutoCommit
ans = '在'
的自动提交
设置为在
。数据库自动将导出的数据提交到数据库,并且无法撤消此操作。
将3月份的销售总额插入yearlysales
表格
表名=“yearlysales”;sqlwrite(康涅狄格州、表结果)
从。导入数据yearlysales
表格该数据包含计算结果。
data = sqlread(康涅狄格州,表名)
数据表= 1×3月salestotal收入累积__________ 3月14606 0
关上(康涅狄格州)