Задайте настройки импорта для данных о базе данных
После того, как вы создаете SQLImportOptions объект, можно настроить настройки импорта для того, чтобы импортировать данные от базы данных в MATLAB®. Настройки импорта включают определение типов данных и значений заливки для недостающих данных.
Создайте SQLImportOptions объект с databaseImportOptions функция.
ExcludeDuplicates — Отметьте, чтобы исключить копииfalse (значение по умолчанию) | trueОтметьте, чтобы исключить копии из импортированных данных в виде false или true. Чтобы исключить копии из данных в таблице базы данных или результатах SQL-запроса, установите ExcludeDuplicates свойство к true использование записи через точку.
Установка этого свойства является эквивалентом использования DISTINCT SQL-оператор в ANSI SQL.
Типы данных: логический
VariableNames Имена переменныхИмена переменных в виде массива ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на имя импортированного столбца базы данных от SQL-запроса или таблицы базы данных.
Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.
Имена переменных по умолчанию являются именами столбцов в SQL-запросе или таблице базы данных.
Пример:
{'productNumber','stockNumber'}
Типы данных: cell
VariableTypes VariableTypes Типы переменных в виде массива ячеек из символьных векторов. Каждый вектор символов в массиве ячеек указывает на тип данных импортированного столбца базы данных от SQL-запроса или таблицы базы данных. Каждым вектором символов должен быть допустимый тип данных MATLAB.
Для таблицы или SQL-запроса только с одним столбцом базы данных, массив ячеек содержит только один вектор символов.
Когда вы создаете SQLImportOptions объект, databaseImportOptions функция автоматически обнаруживает тип данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
| Тип данных базы данных | MATLAB обнаруженный тип данных |
|---|---|
|
|
|
|
|
|
|
|
Если вы используете собственный интерфейс MySQL®, эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
| MySQL Data Type | Тип данных MATLAB |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если вы используете собственный интерфейс PostgreSQL, эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
| Тип данных PostgreSQL | Тип данных 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
string скаляр
logical
datetime массив
categorical массив
missing
Когда вы создаете SQLImportOptions объект, databaseImportOptions функция автоматически обнаруживает значение заливки для недостающих данных на основе типа данных столбца базы данных. Эта таблица сопоставляет тип данных столбца базы данных к обнаруженному значению заливки MATLAB.
| Тип данных базы данных | MATLAB обнаруженное значение заливки |
|---|---|
| '' |
| '' |
| NaN |
| false |
Если вы используете собственный интерфейс MySQL, эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
| Тип данных базы данных | MATLAB обнаруженное значение заливки |
|---|---|
| '' (если VariableTypes свойством является char) или <missing> (если VariableTypes свойством является string) |
| NaT |
| NaN |
| NaN |
| <undefined> |
Если вы используете собственный интерфейс PostgreSQL, эта таблица сопоставляет тип данных столбца базы данных к обнаруженному типу данных MATLAB.
| Тип данных базы данных | MATLAB обнаруженное значение заливки |
|---|---|
| false |
| NaN |
| <missing> |
| NaT |
| NaN |
| NaN |
| undefined |
Обновить FillValues свойство, используйте setoptions функция.
Пример:
{'',NaN}
Типы данных: cell
VariableOptions — Специфичные для типа переменные настройки импортаСпецифичные для типа переменные настройки импорта, возвращенные как массив переменных объектов настроек импорта. Массив содержит объект, соответствующий каждой переменной, заданной в VariableNames свойство. Каждый объект в массиве содержит свойства, которые поддерживают импорт данных с определенным типом данных.
Чтобы запросить ток (или обнаруженный) опции для переменной, используйте getoptions функция.
Чтобы установить и настроить опции для переменной, используйте setoptions функция.
Пример:
opts.VariableOptions возвращает набор SQLVariableImportOptions объекты, одно соответствие каждой переменной в данных.
VariableNamingRule — Переменное правило именования"modify" (значение по умолчанию) | "preserve"Переменное правило именования в виде одного из этих значений:
"modify" — Удалите символы non-ASCII из имен переменных когда SQLImportOptions функция импортирует данные.
"preserve" — Сохраните большинство имен переменных когда SQLImportOptions функция импортирует данные. Для получения дополнительной информации смотрите Ограничения.
Если вы используете MySQL или собственные интерфейсы PostgreSQL, "preserve" значение по умолчанию.
VariableNamingRule свойство имеет эти ограничения:
Эти имена переменных являются зарезервированными идентификаторами для table тип данных: Properties'RowNames' , и VariableNames.
Длина каждого имени переменной должна быть меньше номера, возвращенного namelengthmax.
Пример: 'VariableNamingRule',"modify"
Типы данных: string
getoptions | Получите настройки импорта для данных о базе данных |
preview | Предварительный просмотр восемь строк от базы данных с помощью настроек импорта |
reset | Сбросьте к настройкам импорта по умолчанию для данных о базе данных |
setoptions | Настройте настройки импорта для данных о базе данных |
Настройте настройки импорта при импортировании данных от таблицы базы данных. Управляйте настройками импорта путем создания SQLImportOptions объект. Затем настройте настройки импорта для различных столбцов базы данных. Импортируйте данные с помощью sqlread функция.
Этот пример использует patients.xls файл, который содержит столбцы Genderместоположение , 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)
opts =
SQLImportOptions with properties:
ExcludeDuplicates: false
VariableNamingRule: 'modify'
VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
VariableTypes: {'char', 'char', 'double' ... and 7 more}
SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
FillValues: {'', '', NaN ... and 7 more }
VariableOptions: Show all 10 VariableOptions
Отобразите текущие настройки импорта для переменных, выбранных в 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'
MissingRule: 'fill' | 'fill' | 'fill' | 'fill' | 'fill' | 'fill' | 'fill' | 'fill' | 'fill' | 'fill'
FillValue: '' | '' | NaN | '' | NaN | NaN | NaN | NaN | NaN | ''
To access sub-properties of each variable, use getoptions
Измените типы данных для Genderместоположение , SelfAssessedHealthStatus, и Smoker переменные с помощью setoptions функция. Поскольку Genderместоположение , и SelfAssessedHealthStatus переменные указывают на конечное множество повторяющихся значений, изменяют их тип данных в categorical. Поскольку 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'
MissingRule: 'fill' | 'fill' | 'fill' | 'fill'
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)
Аргумент пары "имя-значение" 'VariableNamingRule' имеет эти ограничения:
SQLImportOptions функция возвращает ошибку, когда вы используете 'VariableNamingRule' аргумент пары "имя-значение" с SQLImportOptions объект opts.
Когда 'VariableNamingRule' аргумент пары "имя-значение" установлен в значение 'modify':
Имена переменных Properties'RowNames' , и VariableNames зарезервированные идентификаторы для table тип данных.
Длина каждого имени переменной должна быть меньше номера, возвращенного namelengthmax.
close | database | databaseDatastore | execute | fetch | sqlread | sqlwrite
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.