Импортируйте данные Используя интерфейс MATLAB® к SQLite

В этом примере показано, как переместить данные между MATLAB® и интерфейсом MATLAB® к SQLite. Предположим, что у вас есть данные о продукте, которые вы хотите импортировать в MATLAB®. Можно загрузить эти данные быстро в файл базы данных SQLite. Вы не должны устанавливать базу данных или драйвер. Для получения дополнительной информации об интерфейсе MATLAB® к SQLite, смотрите Работу с Интерфейсом MATLAB к SQLite. Для большей функциональности соединитесь с файлом базы данных SQLite с помощью драйвера JDBC. Для получения дополнительной информации смотрите Драйвер Конфигурирования и Источник данных.

Чтобы получить доступ к коду для этого примера, введите edit SQLiteWorkflow.m.

Создайте связь SQLite

Создайте связь SQLite conn к новому файлу базы данных SQLite tutorial.db. Задайте имя файла в текущей рабочей папке.

dbfile = fullfile(pwd,'tutorial.db');

conn = sqlite(dbfile,'create');

Составьте таблицы в файле базы данных SQLite

Создайте таблицы inventoryTable, suppliers, salesVolume, и productTable использование exec. Очистите переменные рабочей области MATLAB®.

createInventoryTable = ['create table inventoryTable ' ...
    '(productNumber NUMERIC, Quantity NUMERIC, ' ...
    'Price NUMERIC, inventoryDate VARCHAR)'];
exec(conn,createInventoryTable)

createSuppliers = ['create table suppliers ' ...
    '(SupplierNumber NUMERIC, SupplierName varchar(50), ' ...
    'City varchar(20), Country varchar(20), ' ...
    'FaxNumber varchar(20))'];
exec(conn,createSuppliers)

createSalesVolume = ['create table salesVolume ' ...
    '(StockNumber NUMERIC, January NUMERIC, ' ...
    'February NUMERIC, March NUMERIC, April NUMERIC, ' ...
    'May NUMERIC, June NUMERIC, July NUMERIC, ' ...
    'August NUMERIC, September NUMERIC, October NUMERIC, ' ...
    'November NUMERIC, December NUMERIC)'];
exec(conn,createSalesVolume)

createProductTable = ['create table productTable ' ...
    '(productNumber NUMERIC, stockNumber NUMERIC, ' ...
    'supplierNumber NUMERIC, unitCost NUMERIC, ' ...
    'productDescription varchar(20))'];
exec(conn,createProductTable)

clear createInventoryTable createSuppliers createSalesVolume ...
    createProductTable

tutorial.db содержит четыре пустых таблицы.

Загрузите данные в файл базы данных SQLite

Загрузите MAT-файл под названием sqliteworkflowdata.mat. Переменные CinvTable, Csuppliers, CsalesVol, и CprodTable содержите данные для экспорта. Экспортируйте данные в таблицы в tutorial.db использование insert. Очистите переменные рабочей области MATLAB®.

load('sqliteworkflowdata.mat')

insert(conn,'inventoryTable', ...
    {'productNumber','Quantity','Price','inventoryDate'},CinvTable)

insert(conn,'suppliers', ...
    {'SupplierNumber','SupplierName','City','Country','FaxNumber'}, ...
    Csuppliers)

insert(conn,'salesVolume', ...
    {'StockNumber','January','February','March','April','May','June', ...
    'July','August','September','October','November','December'}, ...
    CsalesVol)

insert(conn,'productTable', ...
    {'productNumber','stockNumber','supplierNumber','unitCost', ...
    'productDescription'},CprodTable)

clear CinvTable Csuppliers CsalesVol CprodTable

Закройте связь SQLite. Очистите переменную рабочей области MATLAB®.

close(conn)

clear conn

Создайте связь SQLite только для чтения с tutorial.db.

conn = sqlite('tutorial.db','readonly');

Импортируйте данные в MATLAB®

Импортируйте данные о продукте в рабочую область MATLAB® с помощью fetch. Переменные inventoryTable_data, suppliers_data, salesVolume_data, и productTable_data содержите данные из таблиц inventoryTable, suppliers, salesVolume, и productTable.

inventoryTable_data = fetch(conn,'SELECT * FROM inventoryTable');

suppliers_data = fetch(conn,'SELECT * FROM suppliers');

salesVolume_data = fetch(conn,'SELECT * FROM salesVolume');

productTable_data = fetch(conn,'SELECT * FROM productTable');

Отобразите первые три строки данных в каждой таблице.

inventoryTable_data(1:3,:)
ans=3×4 cell
    {[1]}    {[1700]}    {[14.5000]}    {'9/23/2014 9:38...'}
    {[2]}    {[1200]}    {[ 9.3000]}    {'7/8/2014 10:50...'}
    {[3]}    {[ 356]}    {[17.2000]}    {'5/14/2014 7:14...'}

suppliers_data(1:3,:)
ans=3×5 cell
  Columns 1 through 4

    {[1001]}    {'Wonder Products'}    {'New York'}    {'United States' }
    {[1002]}    {'Terrific Toys'  }    {'London'  }    {'United Kingdom'}
    {[1003]}    {'Wacky Widgets'  }    {'Adelaide'}    {'Australia'     }

  Column 5

    {'212 435 1617' }
    {'44 456 9345'  }
    {'618 8490 2211'}

salesVolume_data(1:3,:)
ans=3×13 cell
  Columns 1 through 6

    {[125970]}    {[1400]}    {[1100]}    {[ 981]}    {[ 882]}    {[794]}
    {[212569]}    {[2400]}    {[1721]}    {[1414]}    {[1191]}    {[983]}
    {[389123]}    {[1800]}    {[1200]}    {[ 890]}    {[ 670]}    {[550]}

  Columns 7 through 12

    {[752]}    {[654]}    {[773]}    {[809]}    {[980]}    {[3045]}
    {[825]}    {[731]}    {[653]}    {[723]}    {[790]}    {[1400]}
    {[450]}    {[400]}    {[410]}    {[402]}    {[450]}    {[1200]}

  Column 13

    {[19000]}
    {[ 5000]}
    {[16000]}

productTable_data(1:3,:)
ans=3×5 cell
    {[9]}    {[125970]}    {[1003]}    {[13]}    {'Victorian Doll'}
    {[8]}    {[212569]}    {[1001]}    {[ 5]}    {'Train Set'     }
    {[7]}    {[389123]}    {[1007]}    {[16]}    {'Engine Kit'    }

Закройте связь SQLite

close(conn)

Очистите переменную рабочей области MATLAB®.

clear conn

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

| | | |

Похожие темы

Внешние веб-сайты