Вставка данных в таблицу базы данных с помощью собственного интерфейса PostgreSQL

В этом примере показано, как импортировать данные из базы данных в 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)

См. также

| | |

Похожие темы