В этом примере показано, как импортировать данные из базы данных в MATLAB ®, выполнить вычисления данных и экспортировать результаты в таблицу базы данных .
Пример предполагает, что вы соединяетесь с базой данных PostgreSQL, которая содержит таблицы с именем salesvolume и yearlysales. The salesvolume таблица содержит имена столбцов для каждого месяца. The yearlysales таблица содержит имена столбцов month и salestotal. Кроме того, в примере используется база данных PostgreSQL версии 9.405 и драйвер libpq версии 10.12.
Создайте подключение базы данных собственного интерфейса PostgreSQL к базе данных PostgreSQL с помощью имени источника данных, имени пользователя и пароля.
datasource = "PostgreSQLDataSource"; username = "dbdev"; password = "matlab"; conn = postgresql(datasource,username,password);
Импорт данных оборота за март с помощью подключения к базе данных. The 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"
The AutoCommit флаг установлен на on. База данных автоматически фиксирует экспортированные данные в базе данных, и это действие невозможно отменить.
Вставьте сумму продаж за март в yearlysales таблица.
tablename = "yearlysales";
sqlwrite(conn,tablename,results) Импортируйте данные из yearlysales таблица. Эти данные содержат вычисленный результат.
data = sqlread(conn,tablename)
data=1×2 table
month salestotal
_______ __________
"march" 14606
close(conn)
close | postgresql | sqlread | sqlwrite