В этом примере показано, как настроить настройки импорта при импортировании данных от таблицы базы данных с помощью собственного интерфейса MySQL®. Управляйте настройками импорта путем создания SQLImportOptions
объект. Затем настройте настройки импорта для нескольких столбцов базы данных. Импортируйте данные с помощью sqlread
функция.
Пример использует patients.xls
электронная таблица, которая содержит терпеливую информацию. Кроме того, пример использует версию 5.7.22 базы данных MySQL с MySQL Connector/C ++ версия драйвера 8.0.15.
Создайте собственное соединение с базой данных интерфейса MySQL к базе данных MySQL с помощью имени источника данных, имени пользователя и пароля.
datasource = "MySQLDataSource"; username = "root"; password = "matlab"; conn = mysql(datasource,username,password);
Загрузите терпеливую информацию в рабочую область MATLAB®.
patients = readtable("patients.xls");
Создайте patients
таблица базы данных с помощью терпеливой информации.
tablename = "patients";
sqlwrite(conn,tablename,patients)
SQLImportOptions
ОбъектСоздайте SQLImportOptions
объект с помощью patients
таблица базы данных и databaseImportOptions
функция.
opts = databaseImportOptions(conn,tablename);
Отобразите типы данных по умолчанию переменных путем доступа к VariableNames
и VariableTypes
свойства SQLImportOptions
объект с помощью записи через точку.
disp([opts.VariableNames' opts.VariableTypes'])
{'LastName' } {'string' } {'Gender' } {'string' } {'Age' } {'double' } {'Location' } {'string' } {'Height' } {'double' } {'Weight' } {'double' } {'Smoker' } {'logical'} {'Systolic' } {'double' } {'Diastolic' } {'double' } {'SelfAssessedHealthStatus'} {'string' }
Измените типы данных нескольких переменных. Преобразуйте тип данных для всех текстовых переменных к string
. Кроме того, преобразуйте тип данных для всех числовых переменных к single
.
textvars = ["LastName" "Gender" "Location" "SelfAssessedHealthStatus"]; opts = setoptions(opts,textvars,'Type',"string"); numvars = ["Age" "Height" "Weight" "Systolic" "Smoker" "Diastolic"]; opts = setoptions(opts,numvars,'Type',"single");
Отобразите обновленные типы данных переменных.
disp([opts.VariableNames' opts.VariableTypes'])
{'LastName' } {'string'} {'Gender' } {'string'} {'Age' } {'single'} {'Location' } {'string'} {'Height' } {'single'} {'Weight' } {'single'} {'Smoker' } {'single'} {'Systolic' } {'single'} {'Diastolic' } {'single'} {'SelfAssessedHealthStatus'} {'string'}
Установите настройки импорта заменять недостающие данные в заданных переменных со значением заливки unknown
.
varnames = ["LastName" "Location"]; opts = setoptions(opts,varnames,'FillValue',"unknown");
Установите настройки импорта не использовать строки с недостающими данными в LastName
переменная.
varname = "LastName"; opts = setoptions(opts,varname,'MissingRule',"omitrow");
Прежде, чем импортировать данные, предварительно просмотрите его при помощи индивидуально настраиваемых настроек импорта.
T = preview(opts)
T=8×10 table
LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus
__________ ________ ___ ___________________________ ______ ______ ______ ________ _________ ________________________
"Smith" "Male" 38 "County General Hospital" 71 176 1 124 93 "Excellent"
"Johnson" "Male" 43 "VA Hospital" 69 163 0 109 77 "Fair"
"Williams" "Female" 38 "St. Mary's Medical Center" 64 131 0 125 83 "Good"
"Jones" "Female" 40 "VA Hospital" 67 133 0 117 75 "Fair"
"Brown" "Female" 49 "County General Hospital" 64 119 0 122 80 "Good"
"Davis" "Female" 46 "St. Mary's Medical Center" 68 142 0 121 70 "Good"
"Miller" "Female" 33 "VA Hospital" 64 142 1 130 88 "Good"
"Wilson" "Male" 40 "VA Hospital" 68 180 0 115 82 "Good"
Импортируйте переменные с индивидуально настраиваемыми типами данных при помощи sqlread
функция и отображение первые восемь строк импортированных данных.
T = sqlread(conn,tablename,opts); head(T)
ans=8×10 table
LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus
__________ ________ ___ ___________________________ ______ ______ ______ ________ _________ ________________________
"Smith" "Male" 38 "County General Hospital" 71 176 1 124 93 "Excellent"
"Johnson" "Male" 43 "VA Hospital" 69 163 0 109 77 "Fair"
"Williams" "Female" 38 "St. Mary's Medical Center" 64 131 0 125 83 "Good"
"Jones" "Female" 40 "VA Hospital" 67 133 0 117 75 "Fair"
"Brown" "Female" 49 "County General Hospital" 64 119 0 122 80 "Good"
"Davis" "Female" 46 "St. Mary's Medical Center" 68 142 0 121 70 "Good"
"Miller" "Female" 33 "VA Hospital" 64 142 1 130 88 "Good"
"Wilson" "Male" 40 "VA Hospital" 68 180 0 115 82 "Good"
Удалите patients
таблица базы данных с помощью execute
функция.
sqlquery = strcat("DROP TABLE ",tablename);
execute(conn,sqlquery)
Закройте соединение с базой данных.
close(conn)
close
| databaseImportOptions
| execute
| mysql
| preview
| setoptions
| sqlread
| sqlwrite