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 с именем 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)
close | database | executeSQLScript | sqlread