Управление импортом данных в память

Для импорта данных с помощью простых запросов можно использовать приложение Database Explorer Для более сложных запросов и управления проблемами с памятью используйте командную строку для импорта данных в MATLAB® рабочей области. Чтобы понять различия между этими двумя подходами, смотрите Импорт данных с помощью приложения Database Explorer или Командной строки.

Database Toolbox™ предоставляет различные способы импорта данных в рабочее пространство MATLAB из базы данных.

sqlread Функция

Если вы не знакомы с записью SQL-запросов, можно импортировать данные с помощью sqlread функция. Для импорта данных этой функции требуется только подключение к базе данных и имя таблицы базы данных. Кроме того, sqlread функция не требует, чтобы вы задавали настройки базы данных.

select Функция

Для экономии памяти можно импортировать и получить доступ к данным с помощью select функция. С помощью этой функции вы сохраняете память путем импорта данных с использованием типов данных, заданных в базе данных. Определения таблиц в базе данных определяют тип данных для каждого столбца. select функция сопоставляет тип данных в базе данных с соответствующим типом данных MATLAB для каждой переменной во время импорта данных. Вместо импорта каждого числового значения в виде double в MATLAB, select функция позволяет импортировать различные целочисленные типы данных. Вам больше не нужно преобразовывать тип данных числового значения в определенный числовой тип после импорта данных. Размер памяти MATLAB, используемый целочисленными или беззнаковыми целочисленными типами данных, меньше двойной точности. Поэтому select функция сохраняет память.

В этой таблице показаны типы числовых данных в базе данных и их эквиваленты MATLAB при использовании select функция.

Тип данных базы данныхТип данных MATLAB

SIGNED TINYINT

int8

UNSIGNED TINYINT

uint8

SIGNED SMALLINT

int16

UNSIGNED SMALLINT

uint16

SIGNED INT

int32

UNSIGNED INT

uint32

SIGNED BIGINT

int64

UNSIGNED BIGINT

uint64

REAL

single

FLOAT

single

DOUBLE

double

DECIMAL

double

NUMERIC

double

Булев

logical

Дата, время или текст

char

Например, создайте таблицу Patients с этим определением таблицы базы данных:

CREATE TABLE Patients(
    LastName VARCHAR(50),
    Gender VARCHAR(10),
    Age TINYINT,
    Location VARCHAR(300),
    Height SMALLINT,
    Weight SMALLINT,
    Smoker BIT,
    Systolic FLOAT,
    Diastolic NUMERIC,
    SelfAssessedHealthStatus VARCHAR(20))

Эти столбцы таблицы имеют типы числовых данных в базе данных:

  • Age

  • Height

  • Weight

  • Systolic

  • Diastolic

fetch по умолчанию функция импортирует столбцы числовых данных с двойной точностью. Однако, select функция импортирует столбцы в соответствующий им целочисленный тип данных. Когда вы импортируете, используя select функция, соответствующие типы данных MATLAB для этих столбцов:

  • uint8

  • uint16

  • uint16

  • single

  • double

fetch функция импортирует Smoker столбец как double в MATLAB. Однако, select функция импортирует Smoker столбец как logical переменная.

Чтобы увидеть типы данных после импорта данных, используйте select функция со metadata выходной аргумент.

Определите стратегию импорта с помощью SQLImportOptions Объект

Можно настроить настройки импорта для импорта данных из базы данных в рабочее пространство MATLAB с помощью SQLImportOptions объект с fetch функция. select функция задает тип данных MATLAB по умолчанию. Однако с SQLImportOptions можно задать стратегию импорта для определенных столбцов базы данных и тип данных MATLAB для соответствующих импортированных данных.

Также можно задать categorical, datetime, и целочисленные типы данных для импортированных данных с помощью SQLImportOptions объект. Размер памяти MATLAB, используемый для хранения этих типов данных, меньше, чем размер памяти, используемой для альтернативных типов данных, таких как string или double.

См. также

| | |

Похожие темы