Вставьте данные в таблицу базы данных Используя собственный интерфейс PostgreSQL

В этом примере показано, как импортировать данные от базы данных в MATLAB®, выполните вычисления на данных и экспортируйте результаты в таблицу базы данных.

Пример принимает, что вы соединяетесь с базой данных PostgreSQL, которая содержит таблицы под названием salesvolume и yearlysales. Кроме того, пример использует базу данных версии 9.405 базы данных PostgreSQL и libpq версию драйвера 10.12. salesvolume таблица содержит имена столбцов в течение каждого месяца. yearlysales таблица содержит имена столбцов month и salestotal.

Создайте соединение с базой данных

Создайте собственное соединение с базой данных интерфейса PostgreSQL к базе данных PostgreSQL с помощью имени источника данных, имени пользователя и пароля.

datasource = "PostgreSQLDataSource";
username = "dbdev";
password = "matlab";
conn = postgresql(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 таблица.

tablename = "yearlysales"; 
sqlwrite(conn,tablename,results) 

Импортируйте данные от yearlysales таблица. Эти данные содержат расчетный результат.

data = sqlread(conn,tablename) 
data=1×2 table
     month     salestotal
    _______    __________

    "march"      14606   

Закройте соединение с базой данных

close(conn)

Смотрите также

| | |

Похожие темы