Импортируйте данные в MATLAB от таблицы базы данных
data = sqlread(conn,tablename)
data = sqlread(conn,tablename,opts)
data = sqlread(___,Name,Value)
[data,metadata] = sqlread(___)
настраивает опции для того, чтобы импортировать данные от таблицы базы данных с помощью объекта data
= sqlread(conn
,tablename
,opts
)SQLImportOptions
.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение" и любой из предыдущих комбинаций входных аргументов. Например, data
= sqlread(___,Name,Value
)'Catalog','cat'
импортирует данные от таблицы базы данных, сохраненной в каталоге 'cat'
.
Используйте связь ODBC, чтобы импортировать данные о продукте от таблицы базы данных в MATLAB® с помощью базы данных Microsoft® SQL Server®. Затем выполните простой анализ данных.
Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу productTable
.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Проверяйте соединение с базой данных. Если свойство Message
пусто, то связь успешна.
conn.Message
ans = []
Импортируйте данные от таблицы базы данных productTable
. Функция sqlread
возвращает таблицу MATLAB®, которая содержит данные о продукте.
tablename = 'productTable';
data = sqlread(conn,tablename);
Отобразите первые несколько продуктов.
head(data,3)
ans = 3×5 table productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 9 1.2597e+05 1003 13 'Victorian Doll' 8 2.1257e+05 1001 5 'Train Set' 7 3.8912e+05 1007 16 'Engine Kit'
Закройте соединение с базой данных.
close(conn)
Настройте настройки импорта при импортировании данных от таблицы базы данных. Управляйте настройками импорта путем создания объекта 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)
Используйте связь ODBC, чтобы импортировать данные о продукте от таблицы базы данных в MATLAB® с помощью базы данных Microsoft® SQL Server®. Задайте схему, где таблица базы данных хранится. Затем вид и фильтр строки в импортированных данных и выполняют простой анализ данных.
Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу productTable
.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Проверяйте соединение с базой данных. Если свойство Message
пусто, то связь успешна.
conn.Message
ans = []
Импортируйте данные из таблицы productTable
. Задайте схему базы данных dbo
. Таблица data
содержит данные о продукте.
tablename = 'productTable'; data = sqlread(conn,tablename,'Schema','dbo');
Отобразите первые несколько продуктов.
data(1:3,:)
ans = 3×5 table productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 9 1.2597e+05 1003 13 'Victorian Doll' 8 2.1257e+05 1001 5 'Train Set' 7 3.8912e+05 1007 16 'Engine Kit'
Отобразите первые несколько описаний продукта.
data.productDescription(1:3)
ans = 3×1 cell array {'Victorian Doll'} {'Train Set' } {'Engine Kit' }
Сортировка строк в data
столбцом описания продукта в алфавитном порядке.
column = 'productDescription';
data = sortrows(data,column);
Отобразите первые несколько описаний продукта после сортировки.
data.productDescription(1:3)
ans = 3×1 cell array {'Building Blocks'} {'Convertible' } {'Engine Kit' }
Закройте соединение с базой данных.
close(conn)
Используйте связь ODBC, чтобы импортировать данные о продукте от таблицы базы данных в MATLAB® с помощью базы данных Microsoft® SQL Server®. Задайте максимальное количество строк, чтобы импортировать из таблицы базы данных.
Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицу productTable
.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Проверяйте соединение с базой данных. Если свойство Message
пусто, то связь успешна.
conn.Message
ans = []
Импортируйте данные из таблицы productTable
. Импортируйте только три строки данных из таблицы базы данных. Таблица data
содержит данные о продукте.
tablename = 'productTable'; data = sqlread(conn,tablename,'MaxRows',3)
data = 3×5 table productNumber stockNumber supplierNumber unitCost productDescription _____________ ___________ ______________ ________ __________________ 9 1.2597e+05 1003 13 'Victorian Doll' 8 2.1257e+05 1001 5 'Train Set' 7 3.8912e+05 1007 16 'Engine Kit'
Закройте соединение с базой данных.
close(conn)
Получите информацию о метаданных при импортировании данных от таблицы базы данных. Импортируйте данные с помощью sqlread
, функционируют и исследуют информацию о метаданных при помощи записи через точку.
Этот пример использует файл outages.csv
, который содержит данные об отключении электричества. Кроме того, пример использует базу данных 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®.
outages = readtable("outages.csv");
Создайте таблицу базы данных outages
с помощью информации об отключении электричества.
tablename = "outages";
sqlwrite(conn,tablename,outages)
Импортируйте данные в рабочее пространство MATLAB и возвратите информацию о метаданных об импортированных данных.
[data,metadata] = sqlread(conn,tablename);
Просмотрите имена переменных в импортированных данных.
metadata.Properties.RowNames
ans = 6×1 cell array
{'Region' }
{'OutageTime' }
{'Loss' }
{'Customers' }
{'RestorationTime'}
{'Cause' }
Просмотрите тип данных каждой переменной в импортированных данных.
metadata.VariableType
ans = 6×1 cell array
{'char' }
{'char' }
{'double'}
{'double'}
{'char' }
{'char' }
Просмотрите недостающее значение данных для каждой переменной в импортированных данных.
metadata.FillValue
ans = 6×1 cell array
{0×0 char}
{0×0 char}
{[ NaN]}
{[ NaN]}
{0×0 char}
{0×0 char}
Просмотрите индексы недостающих данных для каждой переменной в импортированных данных.
metadata.MissingRows
ans = 6×1 cell array
{ 0×1 double}
{ 0×1 double}
{604×1 double}
{328×1 double}
{ 29×1 double}
{ 0×1 double}
Отобразите первые восемь строк импортированных данных, которые содержат недостающее время восстановления. data
содержит время восстановления в пятой переменной. Используйте числовые индексы, чтобы найти строки с недостающими данными.
index = metadata.MissingRows{5,1}; nullrestoration = data(index,:); head(nullrestoration)
ans=8×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ _________________________ ______ __________ _______________ __________________
'SouthEast' '2003-01-23 00:49:00.000' 530.14 2.1204e+05 '' 'winter storm'
'NorthEast' '2004-09-18 05:54:00.000' 0 0 '' 'equipment fault'
'MidWest' '2002-04-20 16:46:00.000' 23141 NaN '' 'unknown'
'NorthEast' '2004-09-16 19:42:00.000' 4718 NaN '' 'unknown'
'SouthEast' '2005-09-14 15:45:00.000' 1839.2 3.4144e+05 '' 'severe storm'
'SouthEast' '2004-08-17 17:34:00.000' 624.1 1.7879e+05 '' 'severe storm'
'SouthEast' '2006-01-28 23:13:00.000' 498.78 NaN '' 'energy emergency'
'West' '2003-06-20 18:22:00.000' 0 0 '' 'energy emergency'
Удалите таблицу базы данных outages
с помощью функции execute
.
sqlstr = "DROP TABLE ";
sqlquery = strcat(sqlstr,tablename);
execute(conn,sqlquery)
Закройте соединение с базой данных.
close(conn)
conn
— Соединение с базой данныхconnection
Соединение с базой данных, заданное как объект connection
, создается с функцией database
.
tablename
— Имя таблицы базы данныхИмя таблицы базы данных, заданное как вектор символов или скаляр строки обозначение имени таблицы в базе данных.
Пример: 'employees'
Типы данных: char | string
opts
— Настройки импорта базы данныхSQLImportOptions
Настройки импорта базы данных, заданные как объект SQLImportOptions
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
data = sqlread(conn,'inventoryTable','Catalog','toy_store','Schema','dbo','MaxRows',5)
импортирует пять строк данных из таблицы базы данных inventoryTable
, сохраненный в каталоге toy_store
и схеме dbo
.'Catalog'
— Имя каталога базы данныхИмя каталога базы данных, заданное как пара, разделенная запятой, состоящая из 'Catalog'
и вектора символов или скаляра строки. Каталог служит контейнером для схем в базе данных и содержит связанную информацию о метаданных. База данных может иметь многочисленные каталоги.
Пример: 'Catalog','toy_store'
Типы данных: char | string
'Schema'
— Имя схемы базы данныхИмя схемы базы данных, заданное как пара, разделенная запятой, состоящая из 'Schema'
и вектора символов или скаляра строки. Схема задает таблицы базы данных, представления, отношения среди таблиц и другие элементы. Каталог базы данных может иметь многочисленные схемы.
Пример: 'Schema','dbo'
Типы данных: char | string
'MaxRows'
— Максимальное количество строк, чтобы возвратитьсяМаксимальное количество строк, чтобы возвратиться, заданный как пара, разделенная запятой, состоящая из 'MaxRows'
и положительного числового скаляра. По умолчанию функция sqlread
возвращает все строки в выполняемый SQL-запрос. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк, импортированных в MATLAB.
Пример: 'MaxRows',10
Типы данных: double
данные
Импортированные данныеИмпортированные данные, возвращенные как таблица. Строки таблицы соответствуют строкам в таблице базы данных tablename
. Переменные в таблице соответствуют каждому столбцу в таблице базы данных. Для столбцов, которые имеют типы данных numeric
в таблице базы данных, типами данных переменных в data
является double
по умолчанию. Для столбцов, которые имеют текст, date
, time
или типы данных timestamp
в таблице базы данных, типы данных переменных являются массивами ячеек из символьных векторов по умолчанию.
Если таблица базы данных не содержит данных, чтобы импортировать, то data
является пустой таблицей.
metadata
— Информация о метаданныхИнформация о метаданных, возвращенная как таблица с этими переменными.
Имя переменной | Описание переменной | Типы данных переменных |
---|---|---|
| Тип данных каждой переменной в импортированных данных | Массив ячеек из символьных векторов |
| Значение недостающих данных для каждой переменной в импортированных данных | Массив ячеек пропавших без вести значений данных |
| Индексы для каждого вхождения недостающих данных в каждой переменной импортированных данных | Массив ячеек числовых индексов |
По умолчанию функция sqlread
импортирует текстовые данные как вектор символов и числовые данные как двойное. FillValue
является пустым символьным массивом (для текстовых данных) или NaN
(для числовых данных) по умолчанию. Чтобы изменить недостающее значение данных на другое значение, используйте объект SQLImportOptions
.
Свойство RowNames
таблицы metadata
содержит имена переменных в импортированных данных.
close
| database
| databaseImportOptions
| execute
| fetch
| getoptions
| reset
| select
| setoptions
| sqlfind
| sqlinnerjoin
| sqlouterjoin
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.