SQLImportOptions

Задайте настройки импорта для данных о базе данных

Описание

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

Создание

Создайте объект SQLImportOptions с функцией databaseImportOptions.

Свойства

развернуть все

Отметьте, чтобы исключить копии из импортированных данных, заданных как false или true. Чтобы исключить копии из данных в таблице базы данных или результатах SQL-запроса, установите свойство ExcludeDuplicates на true с помощью записи через точку.

Установка этого свойства является эквивалентом использования SQL-оператора DISTINCT в ANSI SQL.

Типы данных: логический

Имена переменных, заданные как массив ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на имя импортированного столбца базы данных от SQL-запроса или таблицы базы данных.

Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.

Имена переменных по умолчанию являются именами столбцов в SQL-запросе или таблице базы данных.

Пример: {'productNumber','stockNumber'}

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

Типы переменных, заданные как массив ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на тип данных импортированного столбца базы данных от SQL-запроса или таблицы базы данных. Каждым вектором символов должен быть допустимый тип данных MATLAB.

Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.

Когда вы создаете объект SQLImportOptions, функция databaseImportOptions автоматически обнаруживает тип данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.

Тип данных базы данныхMATLAB обнаруженный тип данных

TEXT

char

DATE, TIME, DATETIME или TIMESTAMP

char

NUMERIC

double

BOOLEAN или BIT

logical

Чтобы обновить свойство VariableTypes, используйте функцию setoptions.

Пример: {'int64','int32'}

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

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

Значения в свойстве SelectedVariableNames должны быть равны значениям в свойстве VariableNames или подмножестве этих значений. По умолчанию свойство SelectedVariableNames содержит все имена переменных, заданные в свойстве VariableNames. Когда свойство SelectedVariableNames задает все имена переменных, sqlread, fetch, и функции импорта объекта DatabaseDatastore импортируют все столбцы базы данных.

Пример: {'productNumber','stockNumber'}

Пример: [1,2,3]

Типы данных: double | char | cell

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

  • Все целочисленные классы

  • single

  • double

  • char

  • скаляр строки

  • logical

  • Массив datetime

  • Массив categorical

  • missing

Когда вы создаете объект SQLImportOptions, функция databaseImportOptions автоматически обнаруживает значение заливки для недостающих данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному значению заливки MATLAB.

Тип данных базы данныхMATLAB обнаруженное значение заливки

TEXT

''

DATE, TIME, DATETIME или TIMESTAMP

''

NUMERIC

NaN

BOOLEAN или BIT

false

Чтобы обновить свойство FillValues, используйте функцию setoptions.

Пример: {'',NaN}

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

Специфичные для типа переменные настройки импорта, возвращенные как массив переменных объектов настроек импорта. Массив содержит объект, соответствующий каждой переменной, заданной в свойстве VariableNames. Каждый объект в массиве содержит свойства, которые поддерживают импорт данных с определенным типом данных.

Чтобы запросить ток (или обнаруженный) опции для переменной, используйте функцию getoptions.

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

Пример: opts.VariableOptions возвращает набор объектов SQLVariableImportOptions, одно соответствие каждой переменной в данных.

Функции объекта

getoptionsПолучите настройки импорта для данных о базе данных
previewПредварительный просмотр восемь строк от базы данных с помощью настроек импорта
resetСбросьте к настройкам импорта по умолчанию для данных о базе данных
setoptionsНастройте настройки импорта для данных о базе данных

Примеры

свернуть все

Настройте настройки импорта при импортировании данных от таблицы базы данных. Управляйте настройками импорта путем создания объекта SQLImportOptions. Затем настройте настройки импорта для различных столбцов базы данных. Импортируйте данные с помощью функции sqlread .

Этот пример использует файл patients.xls, который содержит столбцы Gender, Location, SelfAssessedHealthStatus и Smoker. Пример также использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Загрузите терпеливую информацию в рабочую область MATLAB®.

patients = readtable('patients.xls');

Создайте таблицу базы данных patients с помощью терпеливой информации.

tablename = 'patients';
sqlwrite(conn,tablename,patients)

Создайте объект SQLImportOptions с помощью таблицы базы данных patients и функции databaseImportOptions.

opts = databaseImportOptions(conn,tablename)

Отобразите текущие настройки импорта для переменных, выбранных в свойстве SelectedVariableNames объекта SQLImportOptions.

vars = opts.SelectedVariableNames;
varOpts = getoptions(opts,vars)
varOpts = 
    1x10 SQLVariableImportOptions array with properties:

   Variable Options:
                    (1) |      (2) |      (3) |        (4) |      (5) |      (6) |      (7) |        (8) |         (9) |                       (10)  
       Name: 'LastName' | 'Gender' |    'Age' | 'Location' | 'Height' | 'Weight' | 'Smoker' | 'Systolic' | 'Diastolic' | 'SelfAssessedHealthStatus'
       Type:     'char' |   'char' | 'double' |     'char' | 'double' | 'double' | 'double' |   'double' |    'double' |                     'char'
  FillValue:         '' |       '' |    [NaN] |         '' |    [NaN] |    [NaN] |    [NaN] |      [NaN] |       [NaN] |                         ''

	To access sub-properties of each variable, use getoptions

Измените типы данных для Gender, Location, SelfAssessedHealthStatus и переменных Smoker с помощью функции setoptions . Поскольку Gender, Location и переменные SelfAssessedHealthStatus указывают на конечное множество повторяющихся значений, изменяют их тип данных на categorical. Because, переменная Smoker хранит значения 0 и 1, измените его тип данных на logical. Затем отобразите обновленные настройки импорта.

opts = setoptions(opts,{'Gender','Location','SelfAssessedHealthStatus'}, ...
    'Type','categorical');
opts = setoptions(opts,'Smoker','Type','logical');

varOpts = getoptions(opts,{'Gender','Location','Smoker', ...
    'SelfAssessedHealthStatus'})
varOpts = 
    1x4 SQLVariableImportOptions array with properties:

   Variable Options:
                       (1) |           (2) |       (3) |                        (4)  
       Name:      'Gender' |    'Location' |  'Smoker' | 'SelfAssessedHealthStatus'
       Type: 'categorical' | 'categorical' | 'logical' |              'categorical'
  FillValue:   <undefined> |   <undefined> |         0 |                <undefined>

	To access sub-properties of each variable, use getoptions

Импортируйте таблицу базы данных patients с помощью функции sqlread и отобразите последние восемь строк таблицы.

data = sqlread(conn,tablename,opts);
tail(data)
ans=8×10 table
     LastName      Gender    Age            Location             Height    Weight    Smoker    Systolic    Diastolic    SelfAssessedHealthStatus
    ___________    ______    ___    _________________________    ______    ______    ______    ________    _________    ________________________

    'Foster'       Female    30     St. Mary's Medical Center      70       124      false       130          91               Fair             
    'Gonzales'     Male      48     County General Hospital        71       174      false       123          79               Good             
    'Bryant'       Female    48     County General Hospital        66       134      false       129          73               Excellent        
    'Alexander'    Male      25     County General Hospital        69       171      true        128          99               Good             
    'Russell'      Male      44     VA Hospital                    69       188      true        124          92               Good             
    'Griffin'      Male      49     County General Hospital        70       186      false       119          74               Fair             
    'Diaz'         Male      45     County General Hospital        68       172      true        136          93               Good             
    'Hayes'        Male      48     County General Hospital        66       177      false       114          86               Fair             

Отобразите сводные данные импортированных данных. Функция sqlread применяет настройки импорта к переменным в импортированных данных.

summary(data)
Variables:

    LastName: 100×1 cell array of character vectors

    Gender: 100×1 categorical

        Values:

            Female       53   
            Male         47   

    Age: 100×1 double

        Values:

            Min        25  
            Median     39  
            Max        50  

    Location: 100×1 categorical

        Values:

            County General Hospital          39    
            St. Mary s Medical Center        24    
            VA Hospital                      37    

    Height: 100×1 double

        Values:

            Min          60   
            Median       67   
            Max          72   

    Weight: 100×1 double

        Values:

            Min          111  
            Median     142.5  
            Max          202  

    Smoker: 100×1 logical

        Values:

            True        34   
            False       66   

    Systolic: 100×1 double

        Values:

            Min          109    
            Median       122    
            Max          138    

    Diastolic: 100×1 double

        Values:

            Min            68    
            Median       81.5    
            Max            99    

    SelfAssessedHealthStatus: 100×1 categorical

        Values:

            Excellent                34            
            Fair                     15            
            Good                     40            
            Poor                     11            

Удалите таблицу базы данных patients с помощью функции execute.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте