Задайте настройки импорта для данных о базе данных
После того, как вы создадите объект SQLImportOptions
, можно настроить настройки импорта для того, чтобы импортировать данные от базы данных в MATLAB®. Настройки импорта включают определение типов данных и значений заливки для недостающих данных.
Создайте объект SQLImportOptions
с функцией databaseImportOptions
.
ExcludeDuplicates
— Отметьте, чтобы исключить копииfalse
(значение по умолчанию) | true
Отметьте, чтобы исключить копии из импортированных данных, заданных как false
или true
. Чтобы исключить копии из данных в таблице базы данных или результатах SQL-запроса, установите свойство ExcludeDuplicates
на true
с помощью записи через точку.
Установка этого свойства является эквивалентом использования SQL-оператора DISTINCT
в ANSI SQL.
Типы данных: логический
Имена переменных
Имена переменныхИмена переменных, заданные как массив ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на имя импортированного столбца базы данных от SQL-запроса или таблицы базы данных.
Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.
Имена переменных по умолчанию являются именами столбцов в SQL-запросе или таблице базы данных.
Пример:
{'productNumber','stockNumber'}
Типы данных: cell
VariableTypes
VariableTypes Типы переменных, заданные как массив ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на тип данных импортированного столбца базы данных от SQL-запроса или таблицы базы данных. Каждым вектором символов должен быть допустимый тип данных MATLAB.
Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.
Когда вы создаете объект SQLImportOptions
, функция databaseImportOptions
автоматически обнаруживает тип данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
Тип данных базы данных | MATLAB обнаруженный тип данных |
---|---|
|
|
|
|
|
|
|
|
Чтобы обновить свойство VariableTypes
, используйте функцию setoptions
.
Пример:
{'int64','int32'}
Типы данных: cell
SelectedVariableNames
Подмножество переменных, чтобы импортироватьПодмножество переменных, чтобы импортировать, заданный как вектор символов, массив ячеек из символьных векторов или числовой массив, который содержит индексы. Используйте свойство SelectedVariableNames
определить столбцы базы данных, чтобы импортировать в рабочее пространство MATLAB.
Значения в свойстве SelectedVariableNames
должны быть равны значениям в свойстве VariableNames
или подмножестве этих значений. По умолчанию свойство SelectedVariableNames
содержит все имена переменных, заданные в свойстве VariableNames
. Когда свойство SelectedVariableNames
задает все имена переменных, sqlread
, fetch
, и функции импорта объекта DatabaseDatastore
импортируют все столбцы базы данных.
Пример:
{'productNumber','stockNumber'}
Пример:
[1,2,3]
Типы данных: double
| char
| cell
FillValues
— Заполните значение для недостающих данныхЗаполните значение для недостающих данных, заданных как массив ячеек, который содержит одно или несколько значений. Каждое значение может быть одним из этих типов данных:
Все целочисленные классы
single
double
char
скаляр строки
logical
Массив datetime
Массив categorical
missing
Когда вы создаете объект SQLImportOptions
, функция databaseImportOptions
автоматически обнаруживает значение заливки для недостающих данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному значению заливки MATLAB.
Тип данных базы данных | MATLAB обнаруженное значение заливки |
---|---|
| '' |
| '' |
| NaN |
| false |
Чтобы обновить свойство FillValues
, используйте функцию setoptions
.
Пример:
{'',NaN}
Типы данных: cell
VariableOptions
Специфичные для типа переменные настройки импортаСпецифичные для типа переменные настройки импорта, возвращенные как массив переменных объектов настроек импорта. Массив содержит объект, соответствующий каждой переменной, заданной в свойстве 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)
close
| database
| databaseDatastore
| execute
| fetch
| sqlread
| sqlwrite
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.