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