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