exponenta event banner

усилие

Импорт данных в рабочую область MATLAB с помощью подключения SQLite

Описание

пример

results = fetch(conn,sqlquery) возвращает все строки данных из файла базы данных SQLite сразу после выполнения инструкции SQL sqlquery с помощью соединения SQLite conn интерфейса MATLAB ® к SQLite.

пример

results = fetch(conn,sqlquery,rowlimit) ограничивает число строк для импорта данных.

Примеры

свернуть все

Интерфейс MATLAB ® используется для импорта всех строк данных в MATLAB ® из таблицы базы данных в файле базы данных SQLite. Затем определите самую высокую удельную стоимость среди продуктов в таблице.

Создание соединения SQLite conn к существующему файлу базы данных SQLite tutorial.db. Файл базы данных содержит таблицу productTable. conn является sqlite объект.

dbfile = 'tutorial.db';
conn = sqlite(dbfile);

Импорт всех данных из productTable. results выходной аргумент содержит импортированные данные в виде массива ячеек.

sqlquery = 'SELECT * FROM productTable';
results = fetch(conn,sqlquery)
results=15×5 cell array
    {[ 9]}    {[125970]}    {[1003]}    {[13]}    {'Victorian Doll' }
    {[ 8]}    {[212569]}    {[1001]}    {[ 5]}    {'Train Set'      }
    {[ 7]}    {[389123]}    {[1007]}    {[16]}    {'Engine Kit'     }
    {[ 2]}    {[400314]}    {[1002]}    {[ 9]}    {'Painting Set'   }
    {[ 4]}    {[400339]}    {[1008]}    {[21]}    {'Space Cruiser'  }
    {[ 1]}    {[400345]}    {[1001]}    {[14]}    {'Building Blocks'}
    {[ 5]}    {[400455]}    {[1005]}    {[ 3]}    {'Tin Soldier'    }
    {[ 6]}    {[400876]}    {[1004]}    {[ 8]}    {'Sail Boat'      }
    {[ 3]}    {[400999]}    {[1009]}    {[17]}    {'Slinky'         }
    {[10]}    {[888652]}    {[1006]}    {[24]}    {'Teddy Bear'     }
    {[11]}    {[408143]}    {[1004]}    {[11]}    {'Convertible'    }
    {[12]}    {[210456]}    {[1010]}    {[22]}    {'Hugsy'          }
    {[13]}    {[470816]}    {[1012]}    {[16]}    {'Pancakes'       }
    {[14]}    {[510099]}    {[1011]}    {[19]}    {'Shawl'          }
    {[15]}    {[899752]}    {[1011]}    {[20]}    {'Snacks'         }

Определите наибольшую удельную стоимость продуктов. Найдите количество продуктов с помощью size функция. Доступ к данным о стоимости единицы измерения осуществляется путем закольцовывания четвертого столбца массива ячеек. data - вектор, содержащий числовые затраты за единицу. Найдите максимальную стоимость за единицу.

rows = size(results);
for i = 1:rows
    data(i) = results{i,4};
end
max(data)
ans = int64
    24

Закройте подключение SQLite.

close(conn)

Интерфейс MATLAB ® используется для импорта ограниченного числа строк в MATLAB ® из таблицы базы данных в файле базы данных SQLite. Затем определите самую высокую удельную стоимость среди продуктов в таблице.

Создание соединения SQLite conn к существующему файлу базы данных SQLite tutorial.db. Файл базы данных содержит таблицу productTable. conn является sqlite объект.

dbfile = 'tutorial.db';

conn = sqlite(dbfile);

Импорт пяти строк данных из productTable с помощью rowlimit аргумент. results содержит пять строк импортированных данных в виде массива ячеек.

sqlquery = 'SELECT * FROM productTable';
rowlimit = 5;
results = fetch(conn,sqlquery,rowlimit)
results=5×5 cell array
    {[9]}    {[125970]}    {[1003]}    {[13]}    {'Victorian Doll'}
    {[8]}    {[212569]}    {[1001]}    {[ 5]}    {'Train Set'     }
    {[7]}    {[389123]}    {[1007]}    {[16]}    {'Engine Kit'    }
    {[2]}    {[400314]}    {[1002]}    {[ 9]}    {'Painting Set'  }
    {[4]}    {[400339]}    {[1008]}    {[21]}    {'Space Cruiser' }

Определите наибольшую удельную стоимость для ограниченного количества продуктов. Доступ к данным о стоимости единицы измерения осуществляется путем закольцовывания четвертого столбца массива ячеек. data - вектор, содержащий числовые затраты за единицу. Найдите максимальную стоимость за единицу.

for i = 1:rowlimit
    data(i) = results{i,4};
end
max(data)
ans = int64
    21

Закройте подключение SQLite.

close(conn)

Входные аргументы

свернуть все

Подключение к базе данных SQLite, указанное как sqlite объект, созданный с помощью sqlite функция.

Инструкция SQL, заданная как вектор символов или скаляр строки. Инструкция SQL может быть любой допустимой инструкцией SQL, включая вложенные запросы. Инструкция SQL может быть хранимой процедурой, например {call sp_name (parm1,parm2,...)}. Для хранимых процедур, возвращающих один или несколько результирующих наборов, используйте fetch функция. Для процедур, возвращающих выходные аргументы, используйте runstoredprocedure.

Сведения о языке запросов SQL см. в руководстве по SQL.

Типы данных: char | string

Предел строки, заданный как положительный числовой скаляр, указывающий максимальное количество строк данных для импорта из базы данных.

Если rowlimit является 0, fetch возвращает все строки данных.

Типы данных: double

Выходные аргументы

свернуть все

Данные результата, возвращенные в виде массива ячеек. Результирующие данные содержат все строки данных из выполненной инструкции SQL.

Массив ячеек содержит только один из следующих типов данных: double, int64, или char. Если NULLs существуют в данных результата, fetch возвращает ошибку. Чтобы избежать этих ограничений, подключитесь к файлу базы данных SQLite с помощью драйвера JDBC. Дополнительные сведения см. в разделе Настройка драйвера и источника данных.

Представлен в R2016a