主要内容

databaseImportOptions

定义数据库数据的导入选项

描述

例子

选择= databaseImportOptions (康涅狄格州创建一个SQLImportOptions对象使用数据库连接和源,源是数据库表名或SQL查询。

例子

选择= databaseImportOptions (康涅狄格州名称,值使用一个或多个名称-值对参数指定其他选项。例如,“目录”、“toystore_doc”方法检索数据toystore_doc数据库目录。

例子

全部折叠

当从数据库表导入数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为不同的数据库列定制导入选项。使用sqlread函数。

本例使用patients.xls文件,其中包含列性别位置SelfAssessedHealthStatus,吸烟者.该示例还使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将患者信息加载到MATLAB®工作区中。

患者=可读(“patients.xls”);

创建病人数据库表采用患者信息。

表名=“病人”;sqlwrite(康涅狄格州、表、病人)

创建一个SQLImportOptions对象使用病人数据库表和databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename)
opts = SQLImportOptions with properties: excludeduplates: false VariableNamingRule: 'modify' VariableNames:{'姓氏','性别','年龄'…变量类型:{'char', 'char', 'double'…SelectedVariableNames:{'姓','性别','年龄'…FillValues: {", ", NaN…和7个}VariableOptions:显示所有10个VariableOptions

控件中所选变量的当前导入选项SelectedVariableNames的属性SQLImportOptions对象。

vars = options . selectedvariablenames;varOpts = getoptions(opts,vars)
varOpts = 1 x10 SQLVariableImportOptions数组属性:变量选择:(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9)|(10)名称:“姓”|“性别”|“年龄”|“位置”|“高度”|“重量”|“烟民”|“收缩”|“舒张期”|“SelfAssessedHealthStatus”类型:“字符”|“字符”|“双重”|“字符”|“双重”|“双重”|“双重”|“双重”|“双重”|“字符”MissingRule:“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”FillValue:" | " | NaN | " | NaN | NaN | NaN | NaN | NaN | "要访问每个变量的子属性,使用getoptions

类型的数据类型性别位置SelfAssessedHealthStatus,吸烟者变量使用setoption函数。因为性别位置,SelfAssessedHealthStatus变量表示一个有限的重复值集合,将其数据类型更改为分类.因为吸烟者变量存储值0而且1,将其数据类型更改为逻辑.然后,显示更新后的导入选项。

选项= setoptions(选项,{“性别”“位置”“SelfAssessedHealthStatus”},...“类型”“分类”);Opts = setoptions(选项,“抽烟”“类型”“逻辑”);varOpts = getoptions(opts,{“性别”“位置”“抽烟”...“SelfAssessedHealthStatus”})
varOpts = 1x4带有属性的SQLVariableImportOptions数组:变量选项:(1)|(2)|(3)|(4)名称:'性别' | '位置' | '吸烟者' | 'SelfAssessedHealthStatus'类型:'categorical' | 'categorical' | 'logical' | 'categorical' missingule: 'fill' | 'fill' | 'fill' | 'fill' FillValue:  |  | 0 | 要访问每个变量的子属性,使用getoptions

导入病人数据库表使用sqlread函数,并显示表的最后8行。

Data = sqlread(conn,tablename,opts);尾(数据)
ans =8×10的表LastName性别年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus位置  _____________ ______ ___ _________________________ ______ ______ ______ ________ _________ ________________________ {' 福斯特的}女圣玛丽医疗中心70 124错误130 91公平{冈萨雷斯的}男性48个县综合医院71年174错误123 79好{“科比”}女性48个县综合医院66年134错误129 73优秀{‘亚历山大’}男性25县综合医院69 171真正的128 99好{'拉塞尔'}男44 VA医院69 188真124 92好{'格里芬'}男49县总医院70 186假119 74公平{'迪亚兹'}男45县总医院68 172真136 93好{'海斯'}男48县总医院66 177假114 86公平

显示导入数据的摘要。的sqlread函数将导入选项应用于导入数据中的变量。

总结(数据)
变量:姓:100×1单元阵列特征向量的性别:100×1分类值:女性53岁男性47年龄:100×1双值:25分钟39马克斯50位置中位数:100×1分类值:县综合医院39 s 24 VA医学中心的圣玛丽医院37高度:100×1双值:60分钟中等67 Max 72重量:100×1双值:111分钟142.5 Max 202吸烟者中位数:100×1逻辑值:对34个错66收缩压:100×1双值:109分钟122 Max 138舒张中位数:100×1 double值:Min 68中位数81.5 Max 99 SelfAssessedHealthStatus: 100×1 categorical值:Excellent 34 Fair 15 Good 40 Poor 11

删除病人数据库表使用执行函数。

Sqlquery = [“drop table”表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

当从数据库上的SQL查询结果导入数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为SQL查询中的不同列定制导入选项。使用获取函数。

本例使用employees_database.mat文件,其中包含列first_namehire_date,DEPARTMENT_NAME.该示例还使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将员工信息加载到MATLAB®工作区中。

Employeedata = load(“employees_database.mat”);

创建员工而且部门使用员工信息的数据库表。

Emps = employeedata.employees;Depts = employeedata.departments;sqlwrite(康涅狄格州,“员工”emp) sqlwrite(康涅狄格州,“部门”、部门)

创建一个SQLImportOptions对象使用SQL查询和databaseImportOptions函数。此查询检索销售经理或程序员员工的所有信息。

Sqlquery = ['SELECT * from employee e join department d '...(e.department_id = d.department_id) where job_id '...”(“IT_PROG”、“SA_MAN”)];opts = databaseImportOptions(conn,sqlquery)
VariableNamingRule: 'modify' VariableNames: {'employee_id', 'first_name', 'last_name'…变量类型:{'double', 'char', 'char'…SelectedVariableNames: {'employee_id', 'first_name', 'last_name'…和13个}FillValues: {NaN, ", "…和13个}VariableOptions:显示所有16个VariableOptions

控件中所选变量的当前导入选项SelectedVariableNames的属性SQLImportOptions对象。

vars = options . selectedvariablenames;varOpts = getoptions(opts,vars)
varOpts = 1 x16 SQLVariableImportOptions数组属性:变量选择:(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9)|(10)|(11)|(12)|(13)| |(14)(15)|(16)名称:“employee_id”|“first_name”|“last_name”|“电子邮件”|“phone_number”|“hire_date”|“job_id”|“工资”|“commission_pct”|“manager_id”|“department_id”|“临时性”|“department_id”|“DEPARTMENT_NAME”|“manager_id”|“LOCATION_ID”类型:“双”|“字符”|“字符”|“字符”|“字符”|“字符”|“字符”|“双重”|“双重”|“双重”|“双重”|“双重”|“双重”|“字符”|“双重”|“双重”MissingRule:“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”FillValue:南  | '' | '' | '' | '' | '' | '' | 南|南|南|南|南|南|”|南|南访问sub-properties每个变量,使用getoptions

类型的数据类型hire_dateDEPARTMENT_NAME,first_name变量使用setoption函数。然后,显示更新后的导入选项。因为hire_date存储日期和时间数据,将此变量的数据类型更改为datetime.因为DEPARTMENT_NAME指定重复值的有限集,则将此变量的数据类型更改为分类.另外,将这个变量的名称改为小写。因为first_name存储文本数据,将此变量的数据类型更改为字符串

Opts = setoptions(选项,“hire_date”“类型”“datetime”);Opts = setoptions(选项,“DEPARTMENT_NAME”“名字”“department_name”...“类型”“分类”);Opts = setoptions(选项,“first_name”“类型”“字符串”);vars = options . selectedvariablenames;varOpts = getoptions(opts,vars)
varOpts = 1 x16 SQLVariableImportOptions数组属性:变量选择:(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9)|(10)|(11)|(12)|(13)| |(14)(15)|(16)名称:“employee_id”|“first_name”|“last_name”|“电子邮件”|“phone_number”|“hire_date”|“job_id”|“工资”|“commission_pct”|“manager_id”|“department_id”|“临时性”|“department_id”|“department_name”|“manager_id”|“LOCATION_ID”类型:“双”|“字符串”|“字符”|“字符”|“字符”|“datetime”|“字符”|“双重”|“双重”|“双重”|“双重”|“双重”|“双重”|“直言”|“双重”|“双重”MissingRule:“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”FillValue:南| <失踪 > | '' | '' | '' | NaT”| |南|南|南|南|南|南| <定义> |南|南访问sub-properties每个变量,使用getoptions

属性选择三个修改后的变量SelectVariableNames财产。

选择。SelectedVariableNames = {“first_name”“hire_date”“department_name”};

方法导入并显示SQL查询的结果获取函数。

Employees_data = fetch(conn,sqlquery,opts)
employees_data =10×3表first_name hire_date department_name ___________ ___________ _______________“Alexander”2006年1月3日IT“Bruce”2007年5月21日IT“David”2005年6月25日IT“Valli”2006年2月05日IT“Diana”2007年2月07日IT“John”2004年10月01日销售“Karen”2005年1月05日销售“Alberto”2005年3月10日销售“Gerald”2007年10月15日销售“Eleni”2008年1月29日销售

删除员工而且部门数据库表使用执行函数。

执行(康涅狄格州,“DROP TABLE employees”)执行(康涅狄格州,'DROP TABLE department '

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入数据时,自定义导入选项。控件的导入选项SQLImportOptions对象。使用数据库编目和模式指定数据库表的位置。然后,为不同的数据库列定制导入选项。使用sqlread函数。

本例使用patients.xls文件,其中包含列性别位置SelfAssessedHealthStatus,吸烟者.该示例还使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

使用Windows®身份验证创建到Microsoft SQL Server数据库的数据库连接。请指定空用户名和密码。

数据源=“MS SQL Server认证”;Conn =数据库(数据源,);

将患者信息加载到MATLAB®工作区中。

患者=可读(“patients.xls”);

创建病人数据库表中的toy_store数据库目录和dbo使用患者信息的数据库模式。

表名=“病人”;sqlwrite(康涅狄格州、表名、病人、...“目录”“toy_store”“模式”“dbo”

创建一个SQLImportOptions对象使用病人数据库表和databaseImportOptions函数。指定toy_store数据库目录和dbo用于数据库表位置的数据库模式。

opts = databaseImportOptions(conn,tablename,...“目录”“toy_store”“模式”“dbo”);

控件中所选变量的当前导入选项SelectedVariableNames的属性SQLImportOptions对象。

vars = options . selectedvariablenames;varOpts = getoptions(opts,vars)
varOpts = 1 x10 SQLVariableImportOptions数组属性:变量选择:(1)|(2)|(3)|(4)|(5)|(6)|(7)|(8)|(9)|(10)名称:“姓”|“性别”|“年龄”|“位置”|“高度”|“重量”|“烟民”|“收缩”|“舒张期”|“SelfAssessedHealthStatus”类型:“字符”|“字符”|“双重”|“字符”|“双重”|“双重”|“双重”|“双重”|“双重”|“字符”MissingRule:“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”|“填补”FillValue:" | " | NaN | " | NaN | NaN | NaN | NaN | NaN | "要访问每个变量的子属性,使用getoptions

类型的数据类型性别位置SelfAssessedHealthStatus,吸烟者变量使用setoption函数。因为性别位置,SelfAssessedHealthStatus变量表示一个有限的重复值集合,将其数据类型更改为分类.因为吸烟者变量存储值0而且1,将其数据类型更改为逻辑.然后,显示更新后的导入选项。

选项= setoptions(选项,{“性别”“位置”“SelfAssessedHealthStatus”},...“类型”“分类”);Opts = setoptions(选项,“抽烟”“类型”“逻辑”);varOpts = getoptions(opts,{“性别”“位置”“抽烟”...“SelfAssessedHealthStatus”})
varOpts = 1x4带有属性的SQLVariableImportOptions数组:变量选项:(1)|(2)|(3)|(4)名称:'性别' | '位置' | '吸烟者' | 'SelfAssessedHealthStatus'类型:'categorical' | 'categorical' | 'logical' | 'categorical' missingule: 'fill' | 'fill' | 'fill' | 'fill' FillValue:  |  | 0 | 要访问每个变量的子属性,使用getoptions

导入病人数据库表使用sqlread函数,并显示表的最后8行。

数据= sqlread(conn,tablename,opts,“目录”“toy_store”“模式”“dbo”);尾(数据)
ans =8×10的表LastName性别年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus位置  _____________ ______ ___ _________________________ ______ ______ ______ ________ _________ ________________________ {' 福斯特的}女圣玛丽医疗中心70 124错误130 91公平{冈萨雷斯的}男性48个县综合医院71年174错误123 79好{“科比”}女性48个县综合医院66年134错误129 73优秀{‘亚历山大’}男性25县综合医院69 171真正的128 99好{'拉塞尔'}男44 VA医院69 188真124 92好{'格里芬'}男49县总医院70 186假119 74公平{'迪亚兹'}男45县总医院68 172真136 93好{'海斯'}男48县总医院66 177假114 86公平

显示导入数据的摘要。的sqlread函数将导入选项应用于导入数据中的变量。

总结(数据)
变量:姓:100×1单元阵列特征向量的性别:100×1分类值:女性53岁男性47年龄:100×1双值:25分钟39马克斯50位置中位数:100×1分类值:县综合医院39 s 24 VA医学中心的圣玛丽医院37高度:100×1双值:60分钟中等67 Max 72重量:100×1双值:111分钟142.5 Max 202吸烟者中位数:100×1逻辑值:对34个错66收缩压:100×1双值:109分钟122 Max 138舒张中位数:100×1 double值:Min 68中位数81.5 Max 99 SelfAssessedHealthStatus: 100×1 categorical值:Excellent 34 Fair 15 Good 40 Poor 11

删除病人数据库表中的toy_store数据库目录和dbo数据库模式执行函数。

Sqlquery = [DROP TABLE toy_store.dbo表名);execute(康涅狄格州,sqlquery)

关闭数据库连接。

关上(康涅狄格州)

输入参数

全部折叠

数据库连接,指定为连接对象创建。数据库函数,连接对象创建。mysql函数,或连接对象创建。postgresql函数。

源,指定为字符向量或字符串标量。使用参数input指定数据库表的名称或用于从数据库导入数据的SQL查询的名称。

例子:“inventorytable”

例子:“SELECT * FROM inventorytable”

数据类型:字符|字符串

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:opts = databaseImportOptions(conn,"inventorytable", " Catalog ", "toystore_doc", " Schema ", "dbo")控件中导入数据的导入选项inventorytable数据库表位于toystore_doc目录和dbo模式。

数据库目录名,指定为逗号分隔的对,由“目录”和字符向量或字符串标量。目录充当数据库中模式的容器,并包含相关的元数据信息。一个数据库可以有许多目录。

使用“目录”仅当是数据库表。

例子:“目录”、“toy_store”

数据类型:字符|字符串

数据库模式名,指定为逗号分隔的对,由“模式”和字符向量或字符串标量。模式定义数据库表、视图、表之间的关系和其他元素。数据库目录可以有许多模式。

使用“模式”仅当是数据库表。

例子:“模式”、“dbo”

数据类型:字符|字符串

输出参数

全部折叠

数据库导入选项,返回为SQLImportOptions对象。

版本历史

在R2018b中引入