Импорт данных из таблицы базы данных с помощью sqlread Функция

В этом примере показано, как импортировать данные из таблицы в базе данных Microsoft ® Access™ в рабочую область MATLAB ® с помощью sqlread функция. Затем в примере показано, как использовать SQL скрипт для импорта данных из SQL запроса, который содержит несколько соединений.

Подключение к базе данных

Создайте подключение к базе данных Microsoft Access с именем источника данных dbdemo использование драйвера ODBC и пустых имени пользователя и пароля. Эта база данных содержит таблицу producttable.

conn = database('dbdemo','','');

Если вы соединяетесь с базой данных с помощью JDBC-соединения, задайте другой синтаксис функции базы данных.

Проверьте подключение к базе данных. Если на Message свойство пусто, подключение успешно.

conn.Message
ans =

     []

Импорт данных из таблицы базы данных

Импортируйте данные продукта из таблицы базы данных producttable при помощи sqlread функция и подключение к базе данных. Эта функция импортирует данные как таблицу MATLAB.

tablename = 'producttable';
data = sqlread(conn,tablename);

Отобразите номер продукта и описание в импортированных данных.

data(:,[1 5])
ans =

  10×2 table

    productnumber    productdescription
    _____________    __________________

          9          'Victorian Doll'  
          8          'Train Set'       
          7          'Engine Kit'      
          2          'Painting Set'    
          4          'Space Cruiser'   
          1          'Building Blocks' 
          5          'Tin Soldier'     
          6          'Sail Boat'       
          3          'Slinky'          
         10          'Teddy Bear'      

Импорт данных с использованием нескольких соединений в SQL-запросе

Создайте файл скрипта SQL с именем salesvolume.sql с помощью следующего запроса SQL. Этот SQL-запрос использует несколько соединений для соединения этих таблиц в dbdemo база данных:

  • producttable

  • salesvolume

  • suppliers

Целью запроса является импорт данных оборота для поставщиков, расположенных в Соединенных Штатах.

SELECT  salesvolume.january
,   salesvolume.february
,   salesvolume.march
,   salesvolume.april
,   salesvolume.may
,   salesvolume.june
,   salesvolume.july
,   salesvolume.august
,   salesvolume.september
,   salesvolume.october
,   salesvolume.november
,   salesvolume.december
,   suppliers.country
FROM     ((producttable
INNER JOIN salesvolume
ON  producttable.stocknumber = salesvolume.stocknumber)
INNER JOIN suppliers
ON  producttable.suppliernumber = suppliers.suppliernumber)
WHERE suppliers.country LIKE 'United States%'

Запуск salesvolume.sql файл при помощи executeSQLScript функция. results - массив структур с данными, возвращенными при выполнении SQL-запроса в файле скрипта SQL.

results = executeSQLScript(conn,'salesvolume.sql');

Отображение первых трех строк в Data таблица. Доступ к этой таблице как полю массива структур с помощью записи через точку.

head(results(1).Data,3)
ans =

  3×13 table

    january    february    march    april    may     june    july    august    september    october    november    december        country    
    _______    ________    _____    _____    ____    ____    ____    ______    _________    _______    ________    ________    _______________

     5000        3500      2800     2300     1700    1400    1000     900        1600        3300       12000       20000      'United States'
     2400        1721      1414     1191      983     825     731     653         723         790        1400        5000      'United States'
     1200         900       800      500      399     345     300     175         760        1500        5500       17000      'United States'

Закрытие подключения к базе данных

close(conn)

См. также

| | |

Похожие темы