В этом примере показано, как импортировать данные из базы данных в MATLAB ®, выполнить вычисления данных и экспортировать результаты в таблицу базы данных .
В примере предполагается, что вы подключаетесь к базе данных MySQL ®, которая содержит таблицы с именемsalesVolume и yearlySales. Также в примере используется база данных MySQL версии 5.7.22 с драйвером MySQL Connector/C + + версии 8.0.15. salesVolume содержит имена столбцов для каждого месяца. yearlySales таблица содержит имена столбцов Month и SalesTotal.
Создайте подключение базы данных собственного интерфейса MySQL к базе данных MySQL с использованием имени источника данных, имени пользователя и пароля.
datasource = "MySQLDataSource"; username = "root"; password = "matlab"; conn = mysql(datasource,username,password);
Импорт данных оборота за март с помощью подключения к базе данных. salesVolume таблица базы данных содержит данные оборота.
tablename = "salesVolume";
data = sqlread(conn,tablename); Просмотрите первые три строки данных оборота. Четвертая переменная содержит данные за март месяц.
head(data(:,4),3)
ans=3×1 table
March
_____
981
1414
890
Вычислите сумму мартовских продаж. Назначение результата переменной рабочей области MATLAB total и просмотрите результат.
total = sum(data.March)
total = 14606
Извлеките имя месяца из данных оборота.
month = data.Properties.VariableNames(4);
Определите имена столбцов для вставляемых данных в виде массива строк.
colnames = ["Month" "SalesTotal"];
Создайте таблицу MATLAB, в которой хранятся экспортируемые данные.
results = table(month,total,'VariableNames',colnames); Определение статуса AutoCommit флаг базы данных. Этот статус определяет возможность отмены действия вставки.
conn.AutoCommit
ans = "on"
AutoCommit флаг установлен в значение on. База данных автоматически фиксирует экспортированные данные в базе данных, и это действие невозможно отменить.
Вставьте сумму продаж за март месяц в yearlySales таблицы с использованием toystore_doc каталог.
tablename = "yearlySales"; sqlwrite(conn,tablename,results,'Catalog','toystore_doc')
Импорт данных из yearlySales таблица. Эти данные содержат рассчитанный результат.
data = sqlread(conn,tablename)
data=1×2 table
Month SalesTotal
_______ __________
"March" 14606
close(conn)
close | mysql | sqlread | sqlwrite