Выполните оператор SQL SELECT
и импортируйте данные в MATLAB
data = select(conn,selectquery)
data = select(conn,selectquery,Name,Value)
[data,metadata]
= select(___)
возвращает импортированные данные в соединение с базой данных data
= select(conn
,selectquery
)conn
для заданного оператора SQL SELECT
selectquery
.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, data
= select(conn
,selectquery
,Name,Value
)'MaxRows',10
определяет максимальный номер строк, чтобы возвратиться к 10 строкам.
Импортируйте данные от базы данных за один шаг с помощью функции select
. Можно получить доступ к данным и выполнить мгновенный анализ данных.
Код принимает, что у вас есть таблица базы данных Patients
, сохраненный на базе данных Microsoft® SQL Server®. Эта таблица содержит данные о пациентах в 10 столбцах и строках. Табличное определение:
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))
Этот пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Microsoft® SQL Server® Driver 11.00.5058.
Создайте соединение с базой данных к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Импортируйте все данные из таблицы Patients
путем выполнения оператора SQL SELECT
с помощью функции select
. data
является таблицей, которая содержит импортированные данные.
selectquery = 'SELECT * FROM Patients';
data = select(conn,selectquery)
data = 10×10 table LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ __________________________ ______ ______ ______ ________ _________ ________________________ 'Smith' 'Male' 38 'Country General Hospital' -32768 176 true 124 93 'Excellent' 'Johnson' 'Male' 43 'VA Hospital' 69 163 false NaN 77 'Fair' 'Williams' 'Female' 38 '' 64 131 false 125 83 'Good' 'Jones' 'Female' 0 'VA Hospital' 67 133 false 117 75 'Fair' 'Broen' 'Female' 49 'Country General Hospital' 64 119 false 122 80 'Good' 'Davis' 'Female' 46 'St Mary's Medical Center' 68 142 false 121 NaN 'Good' 'Miller' 'Female' 33 'VA Hospital' 64 142 true 130 88 'Good' 'Wilson' 'Male' 40 'VA Hospital' -32768 180 false 115 82 'Good' 'Moore' 'Male' 28 'St Mary's Medical Center' 68 -32768 false 115 78 'Excellent' 'Taylor' 'Female' 31 'Country General Hospital' 68 132 false NaN 86 'Excellent'
Определите количество штекерных пациентов путем мгновенного доступа к данным. Используйте функцию count
, чтобы найти случаи в гендерных данных вектора символов, который представляет штекер. Определите общее количество случаев.
males = count(data.Gender,'Male');
sum(males)
ans = 4
Закройте соединение с базой данных.
close(conn)
Импортируйте ограниченное количество строк от базы данных за один шаг с помощью функции select
. Database Toolbox™ импортирует данные с помощью типов числовых данных MATLAB®, которые соответствуют типам данных в таблице базы данных. После импортирования данных можно получить доступ к данным и выполнить мгновенный анализ данных.
Код принимает, что у вас есть таблица базы данных Patients
, сохраненный на базе данных Microsoft® SQL Server®. Эта таблица содержит данные о пациентах в 10 столбцах и строках. Табличное определение:
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))
Здесь, соединитесь с базой данных Microsoft® SQL Server® Version 11.00.2100 с помощью Microsoft® SQL Server® Driver 11.00.5058.
Создайте соединение с базой данных к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Импортируйте данные из таблицы Patients
путем выполнения оператора SQL SELECT
с помощью функции select
. Ограничьте количество импортированных строк с помощью аргумента пары "имя-значение" 'MaxRows'
.
data
является таблицей. Типы данных MATLAB® в таблице соответствуют типам данных в базе данных. Здесь, Age
имеет тип данных uint8
, который соответствует TINYINT
в табличном определении.
metadata
является таблицей, которая содержит дополнительную информацию о каждой переменной в data
.
VariableType
- Тип данных MATLAB®
MissingValue --
представление значения NULL
MissingRows
- Вектор индексов строки, которые содержат отсутствующее значение
selectquery = 'SELECT * FROM Patients'; [data,metadata] = select(conn,selectquery,'MaxRows',5)
data = 5×10 table LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ __________________________ ______ ______ ______ ________ _________ ________________________ 'Smith' 'Male' 38 'Country General Hospital' -32768 176 true 124 93 'Excellent' 'Johnson' 'Male' 43 'VA Hospital' 69 163 false NaN 77 'Fair' 'Williams' 'Female' 38 '' 64 131 false 125 83 'Good' 'Jones' 'Female' 0 'VA Hospital' 67 133 false 117 75 'Fair' 'Broen' 'Female' 49 'Country General Hospital' 64 119 false 122 80 'Good' metadata = 10×3 table VariableType MissingValue MissingRows ____________ ____________ ____________ LastName 'char' '' [0×1 double] Gender 'char' '' [0×1 double] Age 'uint8' [ 0] [ 4] Location 'char' '' [0×1 double] Height 'int16' [-32768] [ 1] Weight 'int16' [-32768] [0×1 double] Smoker 'logical' [ 0] [0×1 double] Systolic 'single' [ NaN] [ 2] Diastolic 'double' [ NaN] [0×1 double] SelfAssessedHealthStatus 'char' '' [0×1 double]
Определите количество штекерных пациентов путем мгновенного доступа к данным. Используйте функцию count
, чтобы найти случаи в гендерных данных вектора символов, который представляет штекер. Определите общее количество случаев.
males = count(data.Gender,'Male');
sum(males)
ans = 2
Закройте соединение с базой данных.
close(conn)
Импортируйте данные от базы данных за один шаг с помощью функции select
. Database Toolbox™ импортирует данные с помощью типов числовых данных MATLAB®, которые соответствуют типам данных в таблице базы данных. Можно просмотреть информацию о типе данных в импортированных данных. Можно также получить доступ к данным и выполнить мгновенный анализ данных.
Код принимает, что у вас есть таблица базы данных Patients
, сохраненный на базе данных Microsoft® SQL Server®. Эта таблица содержит данные о пациентах в 10 столбцах и строках. Табличное определение:
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))
Здесь, соединитесь с базой данных Microsoft® SQL Server® Version 11.00.2100 с помощью Microsoft® SQL Server® Driver 11.00.5058.
Создайте соединение с базой данных к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Импортируйте все данные из таблицы Patients
путем выполнения оператора SQL SELECT
с помощью функции select
.
data
является таблицей. Типы данных MATLAB® в таблице соответствуют типам данных в базе данных. Здесь, Age
имеет тип данных MATLAB® uint8
, который соответствует TINYINT
в табличном определении.
metadata
является таблицей, которая содержит дополнительную информацию о каждой переменной в data
.
VariableType
- Тип данных MATLAB®
MissingValue --
Представление нулевого значения
MissingRows
- Вектор индексов строки, которые содержат отсутствующее значение
selectquery = 'SELECT * FROM Patients';
[data,metadata] = select(conn,selectquery)
data = 10×10 table LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ __________________________ ______ ______ ______ ________ _________ ________________________ 'Smith' 'Male' 38 'Country General Hospital' -32768 176 true 124 93 'Excellent' 'Johnson' 'Male' 43 'VA Hospital' 69 163 false NaN 77 'Fair' 'Williams' 'Female' 38 '' 64 131 false 125 83 'Good' 'Jones' 'Female' 0 'VA Hospital' 67 133 false 117 75 'Fair' 'Broen' 'Female' 49 'Country General Hospital' 64 119 false 122 80 'Good' 'Davis' 'Female' 46 'St Mary's Medical Center' 68 142 false 121 NaN 'Good' 'Miller' 'Female' 33 'VA Hospital' 64 142 true 130 88 'Good' 'Wilson' 'Male' 40 'VA Hospital' -32768 180 false 115 82 'Good' 'Moore' 'Male' 28 'St Mary's Medical Center' 68 -32768 false 115 78 'Excellent' 'Taylor' 'Female' 31 'Country General Hospital' 68 132 false NaN 86 'Excellent' metadata = 10×3 table VariableType MissingValue MissingRows ____________ ____________ ____________ LastName 'char' '' [0×1 double] Gender 'char' '' [0×1 double] Age 'uint8' [ 0] [ 4] Location 'char' '' [0×1 double] Height 'int16' [-32768] [2×1 double] Weight 'int16' [-32768] [ 9] Smoker 'logical' [ 0] [0×1 double] Systolic 'single' [ NaN] [2×1 double] Diastolic 'double' [ NaN] [ 6] SelfAssessedHealthStatus 'char' '' [0×1 double]
Просмотрите типы данных каждой переменной в таблице.
metadata.VariableType
ans = 10×1 cell array 'char' 'char' 'uint8' 'char' 'int16' 'int16' 'logical' 'single' 'double' 'char'
Определите количество штекерных пациентов путем мгновенного доступа к данным. Используйте функцию count
, чтобы найти случаи в гендерных данных вектора символов, который представляет штекер. Определите общее количество случаев.
males = count(data.Gender,'Male');
sum(males)
ans = 4
Закройте соединение с базой данных.
close(conn)
Импортируйте данные от базы данных за один шаг с помощью функции select
. Во время импорта функция select
устанавливает значения по умолчанию для недостающих данных в каждой строке. Используйте информацию об импортированных данных, чтобы изменить значения по умолчанию.
Код принимает, что у вас есть таблица базы данных Patients
, сохраненный на базе данных Microsoft® SQL Server®. Эта таблица содержит данные о пациентах в 10 столбцах и строках. Табличное определение:
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))
Здесь, соединитесь с базой данных Microsoft® SQL Server® Version 11.00.2100 с помощью Microsoft® SQL Server® Driver 11.00.5058.
Создайте соединение с базой данных к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Импортируйте все данные из таблицы Patients
путем выполнения оператора SQL SELECT
с помощью функции select
.
data
является таблицей, которая содержит импортированные данные.
metadata
является таблицей, которая содержит дополнительную информацию о каждой переменной в data
.
VariableType
- Тип данных MATLAB®
MissingValue --
представление значения NULL
MissingRows
- Вектор индексов строки, которые указывают на местоположение отсутствующих значений
selectquery = 'SELECT * FROM Patients';
[data,metadata] = select(conn,selectquery)
data = 10×10 table array LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ __________________________ ______ ______ ______ ________ _________ ________________________ 'Smith' 'Male' 38 'Country General Hospital' -32768 176 true 124 93 'Excellent' 'Johnson' 'Male' 43 'VA Hospital' 69 163 false NaN 77 'Fair' 'Williams' 'Female' 38 '' 64 131 false 125 83 'Good' 'Jones' 'Female' 0 'VA Hospital' 67 133 false 117 75 'Fair' 'Broen' 'Female' 49 'Country General Hospital' 64 119 false 122 80 'Good' 'Davis' 'Female' 46 'St Mary's Medical Center' 68 142 false 121 NaN 'Good' 'Miller' 'Female' 33 'VA Hospital' 64 142 true 130 88 'Good' 'Wilson' 'Male' 40 'VA Hospital' -32768 180 false 115 82 'Good' 'Moore' 'Male' 28 'St Mary's Medical Center' 68 -32768 false 115 78 'Excellent' 'Taylor' 'Female' 31 'Country General Hospital' 68 132 false NaN 86 'Excellent' metadata = 10×3 table array VariableType MissingValue MissingRows ____________ ____________ ____________ LastName 'char' '' [0×1 double] Gender 'char' '' [0×1 double] Age 'uint8' [ 0] [ 4] Location 'char' '' [0×1 double] Height 'int16' [-32768] [2×1 double] Weight 'int16' [-32768] [ 9] Smoker 'logical' [ 0] [0×1 double] Systolic 'single' [ NaN] [2×1 double] Diastolic 'double' [ NaN] [ 6] SelfAssessedHealthStatus 'char' '' [0×1 double]
Получите индексы, которые указывают на местоположение отсутствующих значений в переменной Height
с помощью выходного аргумента metadata
.
values = metadata.MissingRows{'Height'}
values = 1 8
Измените значение по умолчанию для недостающих данных от -32768
до 0
с помощью цикла for. Доступ к импортированным данным с помощью индексов.
for i = 1:length(values) data.Height(values(i)) = 0; end
Просмотрите импортированные данные.
data.Height
ans = 10×1 int16 column vector 0 69 64 67 64 68 64 0 68 68
Отсутствующие значения появляются как 0
.
Закройте соединение с базой данных.
close(conn)
Импортируйте данные от базы данных за один шаг с помощью функции select
. Во время импорта функция select
устанавливает значения по умолчанию для недостающих данных в каждой строке. Используйте информацию об импортированных данных, чтобы изменить значения по умолчанию путем индексации в вектор.
Код принимает, что у вас есть таблица базы данных Patients
, сохраненный на базе данных Microsoft® SQL Server®. Эта таблица содержит данные о пациентах в 10 столбцах и строках. Табличное определение:
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))
Здесь, соединитесь с базой данных Microsoft® SQL Server® Version 11.00.2100 с помощью Microsoft® SQL Server® Driver 11.00.5058.
Создайте соединение с базой данных к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.
datasource = 'MS SQL Server Auth'; conn = database(datasource,'','');
Импортируйте все данные из таблицы Patients
путем выполнения оператора SQL SELECT
с помощью функции select
.
data
является таблицей, которая содержит импортированные данные.
metadata
является таблицей, которая содержит дополнительную информацию о каждой переменной в data
.
VariableType
- Тип данных MATLAB®
MissingValue --
представление значения NULL
MissingRows
- Вектор индексов строки, которые указывают на местоположение отсутствующих значений
selectquery = 'SELECT * FROM Patients';
[data,metadata] = select(conn,selectquery)
data = 10×10 table array LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ __________________________ ______ ______ ______ ________ _________ ________________________ 'Smith' 'Male' 38 'Country General Hospital' -32768 176 true 124 93 'Excellent' 'Johnson' 'Male' 43 'VA Hospital' 69 163 false NaN 77 'Fair' 'Williams' 'Female' 38 '' 64 131 false 125 83 'Good' 'Jones' 'Female' 0 'VA Hospital' 67 133 false 117 75 'Fair' 'Broen' 'Female' 49 'Country General Hospital' 64 119 false 122 80 'Good' 'Davis' 'Female' 46 'St Mary's Medical Center' 68 142 false 121 NaN 'Good' 'Miller' 'Female' 33 'VA Hospital' 64 142 true 130 88 'Good' 'Wilson' 'Male' 40 'VA Hospital' -32768 180 false 115 82 'Good' 'Moore' 'Male' 28 'St Mary's Medical Center' 68 -32768 false 115 78 'Excellent' 'Taylor' 'Female' 31 'Country General Hospital' 68 132 false NaN 86 'Excellent' metadata = 10×3 table array VariableType MissingValue MissingRows ____________ ____________ ____________ LastName 'char' '' [0×1 double] Gender 'char' '' [0×1 double] Age 'uint8' [ 0] [ 4] Location 'char' '' [0×1 double] Height 'int16' [-32768] [2×1 double] Weight 'int16' [-32768] [ 9] Smoker 'logical' [ 0] [0×1 double] Systolic 'single' [ NaN] [2×1 double] Diastolic 'double' [ NaN] [ 6] SelfAssessedHealthStatus 'char' '' [0×1 double]
Получите индексы, которые указывают на местоположение отсутствующих значений в переменной Height
с помощью выходного аргумента metadata
.
values = metadata(5,3) valuesindex = values.MissingRows{1}
values = table MissingRows ____________ Height [2×1 double] valuesindex = 1 8
Измените значение по умолчанию для недостающих данных от -32768
до 0
, использующего векторную индексацию.
data.Height(valuesindex) = 0;
Просмотрите импортированные данные.
data.Height
ans = 10×1 int16 column vector 0 69 64 67 64 68 64 0 68 68
Отсутствующие значения появляются как 0
.
Закройте соединение с базой данных.
close(conn)
conn
— Соединение с базой данныхconnection
Соединение с базой данных, заданное как объект connection
, создается с функцией database
.
selectquery
— SQL SELECT
Оператор SQL SELECT
, заданный как вектор символов или строка. Функция select
только выполняет операторы SQL SELECT
. Чтобы выполнить другие SQL-операторы, используйте функцию exec
.
Пример: 'SELECT * FROM inventoryTable'
Типы данных: char | string
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'MaxRows',100,'QueryTimeOut',5
возвращает 100 строк данных и ожидает 5 секунд, чтобы выполнить оператор SQL SELECT
.'MaxRows'
— Максимальное количество строк, чтобы возвратитьсяМаксимальное количество строк, чтобы возвратиться, заданный как пара, разделенная запятой, состоящая из 'MaxRows'
и положительного числового скаляра. По умолчанию функция select
возвращает все строки в выполняемый SQL-запрос. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк, импортированных в MATLAB®.
Пример: 'MaxRows',10
Типы данных: double
'QueryTimeOut'
— Тайм-аут SQL-запросаТайм-аут SQL-запроса, заданный как пара, разделенная запятой, состоящая из 'QueryTimeOut'
и положительного числового скаляра. По умолчанию функция select
игнорирует значение тайм-аута. Используйте этот аргумент пары "имя-значение", чтобы задать номер секунд, чтобы ожидать выполнения SQL-запроса selectquery
.
Пример: 'QueryTimeOut',15
данные
Импортированные данныеИмпортированные данные, возвращенные как таблица. Строки таблицы соответствуют строкам данных, возвращенных в выполняемый SQL-запрос selectquery
. Имена переменных таблицы задают столбцы в SQL-запросе.
Функция select
возвращает дату или данные времени как векторы символов в таблице. Эта функция возвращает текст как векторы символов или массив ячеек из символьных векторов. Строки не поддержаны в таблице.
Если никакие данные, чтобы импортировать не существуют, то data
является пустой таблицей.
metadata
— Информация об импортированных данныхИнформация об импортированных данных, возвращенных как таблица. Имена строки metadata
являются именами переменных в data
. Эта функция хранит каждое имя переменной в таблице metadata
как массив ячеек. metadata
имеет эти имена переменных:
VariableType
— Типы данных каждой переменной в data
MissingValue
Представление отсутствующего значения для каждой переменной в data
MissingRows
— Вектор индексов строки, которые указывают на местоположения отсутствующих значений для каждой переменной в data
Эта таблица показывает, как MATLAB представляет значения NULL
в базе данных по умолчанию после импорта данных.
Тип данных базы данных | Значение NULL по умолчанию |
---|---|
| -128 |
| 0 |
| -32768 |
| 0 |
| -2147483648 |
| 0 |
| -9223372036854775808 |
| 0 |
|
|
|
|
|
|
|
|
|
|
Булевская переменная |
|
Дата, время или текст |
|
Чтобы изменить представление значения NULL
в импортированных данных, замените значение по умолчанию цикличным выполнением через импортированные данные или использующий векторную индексацию.
Вы не можете настроить отсутствующие значения в выходном аргументе data
с помощью функции select
. Индексируйте в импортированные данные с помощью выходного аргумента metadata
вместо этого.
Выходной аргумент data
не поддерживает типы данных struct
и cell
. Функция select
только поддерживает table
.
Используйте exec
и функции fetch
для полной функциональности при импортировании данных. Для различий между функцией select
и этой альтернативой, смотрите, что Импорт Данных Использует Приложение Database Explorer или Командную строку.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.