В этом примере показано, как импортировать данные от базы данных в MATLAB®, выполните вычисления на данных и экспортируйте результаты в таблицу базы данных.
Пример принимает, что вы соединяетесь с базой данных MySQL®, которая содержит таблицы под названием salesVolume
и yearlySales
. Кроме того, пример использует версию 5.7.22 базы данных MySQL с 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
Вычислите сумму мартовских продаж. Присвойте результат переменной total
рабочего пространства MATLAB и отобразите результат.
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)
mysql
| close
| sqlread
| sqlwrite