我是编程新手,我一直在努力解决这个问题。
我正在尝试将大约 300 个 mysql 表拉到我的工作区中的 Matlab 中。
我附上了以下代码,旨在拉出一个表(我计划在工作时通过 300 个 mysql 表循环此代码)。
该代码成功地将单个表作为新数据集导入工作区。
当我尝试用原始 mysql 表的名称重命名这个新数据集时,我的问题就出现了。
请参阅下面的代码,了解我搞砸的部分(%Assign data to output variable)
我有一个所有 300 个表名称的列表,我计划将它们存储在一个名为“名称”的列表中......因此,名称(1)......这是正确的方法吗?
例如,原始的 mysql 表名为“options_20020208”。
运行脚本后,我还需要将 Matlab 导入的新数据集称为“options_20020208”。
这里有什么想法吗?
%Define Query
name = 'options_20020208'
%Set preferences with setdbprefs.
setdbprefs('DataReturnFormat', 'dataset');
setdbprefs('NullNumberRead', 'NaN');
setdbprefs('NullStringRead', 'null');
%Make connection to database.
conn = database('', 'root', 'password', 'Vendor', 'MYSQL', 'Server', 'localhost', 'PortNumber', 3306);
%Read data from database.
curs = exec(conn, [['SELECT ',name,'.UnderlyingSymbol , ']...
, [name,'.UnderlyingPrice , ']...
, [name,'.Expiration , ']...
, ['FROM ','PriceMatrix.',name,' ']...
]);
curs = fetch(curs);
close(curs);
%Assign data to output variable
name(1) = curs.Data;
%Close database connection.
close(conn);
%Clear variables
clear curs conn