主要内容

databaseDatastore

数据库中数据的数据存储

描述

MATLAB®有各种各样的数据存储,允许您将大型数据集导入MATLAB进行分析。一个DatabaseDatastoreobject是一种类型的数据存储,它包含来自数据库表的数据或在关系数据库中执行SQL查询的结果。其他数据存储请参见从数据存储开始

与一个DatabaseDatastore对象时,您可以预览和读取数据集中的记录或块,并重置DatabaseDatastore到初始状态。此外,您还可以使用tall array或MapReduce分析数据库中的大型数据集。

读取数据DatabaseDatastore对象的操作与执行获取函数在数据集上。使用DatabaseDatastore对象提供的优势使您能够:

创建

描述

例子

dbd= databaseDatastore (康涅狄格州创建一个DatabaseDatastore对象使用数据库连接。此数据存储包含来自数据库表的数据或执行的SQL查询的结果。

例子

dbd= databaseDatastore (康涅狄格州名称,值使用一个或多个名称-值对参数指定其他选项。例如,“ReadSize”,100年对象中检索100行数据DatabaseDatastore对象。

例子

dbd= databaseDatastore (康涅狄格州选择类自定义从数据库导入大型数据集的选项SQLImportOptions对象。

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

输入参数

全部展开

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

源,指定为字符向量或字符串标量。source表示是否DatabaseDatastore对象存储来自数据库表的数据或执行SQL查询的结果。

例子:“inventorytable”

例子:SELECT productnumber,productname FROM producttable

数据类型:字符|字符串

数据库导入选项,指定为SQLImportOptions对象。

名称-值参数

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

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

例子:databaseDatastore(康涅狄格州,来源,“ReadSize”,100年,“目录”,“toy_store”)创建一个DatabaseDatastore对象,并存储来自表或SQL查询的100行数据toy_store数据库目录。

要返回的行数,指定为逗号分隔的对,由“ReadSize”和一个正的标量。属性中检索的行数可使用此名称-值对参数限制DatabaseDatastore对象。

例子:1000

数据类型:

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

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

例子:“目录”、“toy_store”

数据类型:字符|字符串

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

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

例子:“模式”、“dbo”

数据类型:字符|字符串

限制

  • DatabaseDatastore对象只支持微软®SQL Server®2012年及以后的版本。

  • DatabaseDatastore对象不支持使用安装了并行计算工具箱™的并行池。使用tall数组分析数据或运行MapReduce算法时,将全局执行环境设置为本地MATLAB会话mapreduce.输入这个代码:

    mapreduce (0)
    关于控制并行资源的详细信息,请参见在并行池上执行mapreduce(并行计算工具箱)

属性

全部展开

此属性是只读的。

数据库连接,指定为连接使用数据库

此属性是只读的。

SQL查询,指定为字符向量,指定要在数据库中执行的SQL查询。

数据类型:字符

此属性是只读的。

检索到的数据表的列名,指定为一个或多个字符向量的单元格数组。

数据类型:字符

从检索到的数据表中读取的行数,指定为非负数字标量。要指定要读取的行数,请设置ReadSize财产。

例子:dbd。ReadSize = 5000;

数据类型:

对象的功能

hasdata 确定数据是否在DatabaseDatastore可供阅读
预览 返回数据的子集DatabaseDatastore
读取数据DatabaseDatastore
readall 读取所有数据DatabaseDatastore
重置 重置DatabaseDatastore到初始状态
关闭 关闭并使数据库和驱动程序资源利用率失效
isPartitionable 确定数据存储是否可分区
isShuffleable 确定数据存储是否可洗牌

例子

全部折叠

使用ODBC驱动程序创建到MySQL (R)数据库的数据库连接。然后,创建一个DatabaseDatastore对象使用SQL查询的结果和预览一个大的数据集。

创建到ODBC数据源的数据库连接MySQL ODBC.请指定用户名和密码。

数据源=“MySQL ODBC”;用户名=“用户名”;密码=“密码”;Conn =数据库(数据源,用户名,密码);

创建一个DatabaseDatastore对象使用数据库连接和SQL查询。此SQL查询从airlinesmall表格databaseDatastore执行SQL查询。

sqlquery =select * from airlinesmall;dbds = databaseDatastore(conn,sqlquery)
dbds = DatabaseDatastore属性:连接:[1×1 database.odbc.]连接] Query: 'select * from airlinesmall' VariableNames: {1×29 cell} ReadSize: 10000

dbd是一个DatabaseDatastore具有这些属性的对象:

  • 连接——数据库连接对象

  • 查询执行的SQL查询

  • VariableNames——已执行SQL查询的列名列表

  • ReadSize——从执行的SQL查询中读取的最大记录数

显示数据库连接属性。

dbd。连接
ans =连接属性:DataSource: 'MySQL ODBC' UserName: ' UserName '消息:"类型:'ODBC连接对象'数据库属性:自动提交:'on' ReadOnly: 'off' LoginTimeout: 0 MaxDatabaseConnections: 0目录和模式信息:DefaultCatalog: 'toystore_doc'目录:{'information_schema', 'detsdb', 'MySQL '…{}数据库和驱动程序信息:DatabaseProductName: 'MySQL' DatabaseProductVersion: '5.7.22' DriverName: 'myodbc5a.dll' DriverVersion: '05.03.0014'

消息当数据库连接成功时,属性为空。

中执行SQL查询返回的大数据集中的前8条记录DatabaseDatastore对象。

预览(dbd)
ans = 8×29月表年DayofMonth DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime通话时间ArrDelay DepDelay起源桌子距离TaxiIn TaxiOut取消CancellationCode转移CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay  ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______________ ______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________ 1990 9 11 2 1810 1812 1939 1930 1426{“AA”}{“NA”}89 78{“NA”}{RST的}{奥德的}268{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 27 6 1353 112 1355 1634 1640{‘我们’}{“NA”}161 165{“NA”}{TPA的}{“锡”}1104{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 23 2 1057 1055 1621 1205 1155{‘我们’}{“NA”}68 60{“NA”}2{‘中华民国’}{“英文文宣写作研习营”}246{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}8 1 1515 1440 1609 1990 1535 749{“西北”}{“NA”}54 55 34 35{“NA”}{MSP的}{“女性性功能障碍”}197{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 19 5 1130 369 1120 1203 1154 {UA的}{“NA”}93 94{“NA”}9 10{“缓冲区”}{奥德的}473{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 12 5 1755 1733 1858 1820 590{“DL”}{“NA”}63 47{“NA”}38 22{“bo”}{BGR的}201{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}2001年11 22 4 1345 1355 1530 1549 {MQ的}4982{#的名字吗?'} 105 114{90} -19 -10{“JAX”}{“米亚”}334{' 8 '}{‘7’}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}2001年11 26 1 2105 2110 2209 2237 1947{“AA”}{‘N3BaA1} 64 87{“47”}-28 5{“旧金山”}{“宽松”}337{‘6’}{' 11 '}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}

关闭DatabaseDatastore对象和数据库连接。

关上(dbd)

类从数据库表中检索大型数据集DatabaseDatastore对象。本例使用MySQL®数据库。

使用用户名和密码创建到MySQL数据库的数据库连接。

数据源=“MySQL ODBC”;用户名=“用户名”;密码=“密码”;Conn =数据库(数据源,用户名,密码);

在MATLAB®工作空间中加载飞行信息。

航班=可读的(“airlinesmall_subset.xlsx”);

创建航班数据库表使用航班信息。

表名=“航班”;sqlwrite(康涅狄格州,表名,航班)

创建一个DatabaseDatastore对象使用数据库连接和航班数据库表中。

dbds = databaseDatastore(conn,tablename)
dbds = DatabaseDatastore属性:连接:[1×1 database.odbc.]连接] Query: 'SELECT * from flights' VariableNames: {1×29 cell} ReadSize: 10000

dbd是一个DatabaseDatastore具有这些属性的对象:

  • 连接—数据库连接对象

  • 查询执行的SQL查询

  • VariableNames-已执行SQL查询的列名列表

  • ReadSize-从执行的SQL查询中读取的最大记录数

显示数据库连接属性。

dbd。连接
ans =连接属性:DataSource: 'MySQL ODBC' UserName: ' UserName '消息:"类型:'ODBC连接对象'数据库属性:自动提交:'on' ReadOnly: 'off' LoginTimeout: 0 MaxDatabaseConnections: 0目录和模式信息:DefaultCatalog: 'toystore_doc'目录:{'information_schema', 'detsdb', 'MySQL '…{}数据库和驱动程序信息:DatabaseProductName: 'MySQL' DatabaseProductVersion: '5.7.22' DriverName: 'myodbc5a.dll' DriverVersion: '05.03.0014'

消息当数据库连接成功时,属性为空。

中执行SQL查询返回的数据集中的前8条记录DatabaseDatastore对象。

预览(dbd)
ans =表8×29年月DayofMonth DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime通话时间ArrDelay DepDelay起源桌子距离TaxiIn TaxiOut取消CancellationCode转移CarrierDelay WeatherDelay SDelay SecurityDelay LateAircraftDelay  ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______ ________ _____________ _________ ________________ ________ ____________ ____________ ______ _____________ _________________ 18 4 1996 2117 2120 2305 2259 415{“惠普”}{‘N637AW} 108 99 85 6 3{'因为'}{‘PHX} 551 5 0南南南南南南12 5 1996 1252 1245 1511 1500 610{“惠普”}{‘N905AW} 79 75 58 11 7{“宽松”}{‘PHX} 370 3 18 0南南南南南南1996 1 16 2 1441 1445 1708 1721 211{“惠普”}{‘N165AW} 87 96 74 -13 4{‘汽车’}{‘PHX} 601 4 9 0南南南南南南1996 1 1 1 2258 2300 23362335{“惠普”}1245{‘N183AW} 38 35 20 1 2{“摘要”}{‘PHX} 110 6 12 0南南南南南南1996 1 4 4 1814 683 1814 1901 1910{‘我们’}{‘N963VJ} 47 56 34 9 0{的DTW}{‘坑’}201 6 7 0南南南南南南1996 1 31 3 1822 757 1820 1934 1925{‘我们’}{‘N912VJ} 72 65 52 9 2{‘PHL}{‘坑’}267 6 14 0南南南南南南18 4 1996 729 730 841 843 1564{‘我们’}{‘N941VJ} 72 73 58 2 1 {DCA的}{PVD的}357 3 11 0南南南南南南1996 1 26 5 1704 1705 1829 1839 1538{“西北”}{'N960N'} 85 94 69 -10 -1 {'DTW'} {'RIC'} 456 3 13 0 NaN 0 NaN NaN NaN NaN NaN

关闭DatabaseDatastore对象和数据库连接。

关上(dbd)

使用ODBC驱动程序创建数据库连接。然后,创建一个DatabaseDatastore对象,通过设置ReadSize属性,并预览大型数据集。

创建到ODBC数据源的数据库连接MySQL ODBC.请指定用户名和密码。

数据源=“MySQL ODBC”;用户名=“用户名”;密码=“密码”;Conn =数据库(数据源,用户名,密码);

创建一个DatabaseDatastore对象使用数据库连接和SQL查询。此SQL查询从airlinesmall表格指定从执行的SQL查询中读取最多1000条记录。databaseDatastore执行SQL查询。

sqlquery =select * from airlinesmall;dbds = databaseDatastore(conn,sqlquery,“ReadSize”, 1000)
dbds = DatabaseDatastore属性:连接:[1×1 database.odbc.]连接] Query: 'select * from airlinesmall' VariableNames: {1×29 cell} ReadSize: 1000

dbd是一个DatabaseDatastore具有这些属性的对象:

  • 连接——数据库连接对象

  • 查询执行的SQL查询

  • VariableNames——已执行SQL查询的列名列表

  • ReadSize——从执行的SQL查询中读取的最大记录数

显示数据库连接属性。

dbd。连接
ans =连接属性:DataSource: 'MySQL ODBC' UserName: ' UserName '消息:"类型:'ODBC连接对象'数据库属性:自动提交:'on' ReadOnly: 'off' LoginTimeout: 0 MaxDatabaseConnections: 0目录和模式信息:DefaultCatalog: 'toystore_doc'目录:{'information_schema', 'detsdb', 'MySQL '…{}数据库和驱动程序信息:DatabaseProductName: 'MySQL' DatabaseProductVersion: '5.7.22' DriverName: 'myodbc5a.dll' DriverVersion: '05.03.0014'

消息当数据库连接成功时,属性为空。

中执行SQL查询返回的大数据集中的前8条记录DatabaseDatastore对象。

预览(dbd)
ans = 8×29月表年DayofMonth DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime通话时间ArrDelay DepDelay起源桌子距离TaxiIn TaxiOut取消CancellationCode转移CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay  ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ __________ _________________ ______________ _______ ________ ________ _______ _______________ ______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________ 1990 9 11 2 1810 1812 1939 1930 1426{“AA”}{“NA”}89 78{“NA”}{RST的}{奥德的}268{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 27 6 1353 112 1355 1634 1640{‘我们’}{“NA”}161 165{“NA”}{TPA的}{“锡”}1104{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 23 2 1057 1055 1621 1205 1155{‘我们’}{“NA”}68 60{“NA”}2{‘中华民国’}{“英文文宣写作研习营”}246{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}8 1 1515 1440 1609 1990 1535 749{“西北”}{“NA”}54 55 34 35{“NA”}{MSP的}{“女性性功能障碍”}197{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 19 5 1130 369 1120 1203 1154 {UA的}{“NA”}93 94{“NA”}9 10{“缓冲区”}{奥德的}473{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}1990 10 12 5 1755 1733 1858 1820 590{“DL”}{“NA”}63 47{“NA”}38 22{“bo”}{BGR的}201{“NA”}{“NA”}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}2001年11 22 4 1345 1355 1530 1549 {MQ的}4982{#的名字吗?'} 105 114{90} -19 -10{“JAX”}{“米亚”}334{' 8 '}{‘7’}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}2001年11 26 1 2105 2110 2209 2237 1947{“AA”}{‘N3BaA1} 64 87{“47”}-28 5{“旧金山”}{“宽松”}337{‘6’}{' 11 '}{“NA”}0{“NA”}{“NA”}{“NA”}{“NA”}{“NA”}

关闭DatabaseDatastore对象和数据库连接。

关上(dbd)

当从数据库表导入大型数据集时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为包含逻辑数据的数据库列定制导入选项。导入和预览数据DatabaseDatastore对象,并使用预览函数。

本例使用airlinesmall_subset.xls电子表格,其中包含列取消了.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

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

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

将飞行信息加载到MATLAB®工作空间。

航班=可读的(“airlinesmall_subset.xlsx”);

创建航班数据库表使用航班信息。

表名=“航班”;sqlwrite(康涅狄格州,表名,航班)

创建一个SQLImportOptions对象使用航班数据库表的databaseImportOptions函数。

opts = databaseImportOptions(conn,tablename);

控件的默认导入选项取消了变量。

varnames =“取消”;varOpts = getoptions(opts,varnames)
varOpts = SQLVariableImportOptions带有属性:变量属性:名称:'Cancelled'类型:'double' FillValue: NaN

将指定变量的数据类型的导入选项设置为逻辑.另外,设置导入选项以用填充值替换指定变量中缺失的数据真正的

Opts = setoptions(Opts,varnames,“类型”“逻辑”...“FillValue”,真正的);

创建DatabaseDatastore对象使用导入选项导入大型数据集。

dbds = databaseDatastore(conn,tablename,opts);

导入所选变量中的逻辑数据,并显示数据的预览。导入的数据显示变量具有逻辑数据类型。

选择。SelectedVariableNames = varnames;数据=预览(dbds);取消=数据。取消了
取消=8×1逻辑阵列0 0 0 0 0 0 0

删除航班数据库表使用执行函数。

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

关闭数据库连接。

关上(康涅狄格州)

当从数据库表导入大型数据集时,自定义导入选项。控件的导入选项SQLImportOptions对象。然后,为包含逻辑数据的数据库列定制导入选项。创建一个DatabaseDatastore对象使用指定的数据库编目和模式。方法导入数据库数据并预览预览函数与DatabaseDatastore对象。

本例使用airlinesmall_subset.xls电子表格,其中包含列取消了.此外,该示例使用Microsoft®SQL Server®Version 11.00.2100数据库和Microsoft SQL Server Driver 11.00.5058。

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

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

将飞行信息加载到MATLAB®工作空间。

航班=可读的(“airlinesmall_subset.xlsx”);

创建航班数据库表中使用了航班信息和toy_store数据库目录和dbo数据库模式。

表名=“航班”;sqlwrite(康涅狄格州,表名,航班,...“目录”“toy_store”“模式”“dbo”

创建一个SQLImportOptions对象使用航班数据库表和databaseImportOptions函数。指定toy_store数据库目录和dbo数据库模式。

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

控件的默认导入选项取消了变量。

varnames =“取消”;varOpts = getoptions(opts,varnames)
varOpts = SQLVariableImportOptions带有属性:变量属性:名称:'Cancelled'类型:'double' FillValue: NaN

将指定变量的数据类型的导入选项设置为逻辑.另外,设置导入选项以用填充值替换指定变量中缺失的数据真正的

Opts = setoptions(Opts,varnames,“类型”“逻辑”...“FillValue”,真正的);

创建DatabaseDatastore对象使用导入选项导入大型数据集toy_store数据库目录和dbo数据库模式。

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

导入所选变量中的逻辑数据,并显示数据的预览。导入的数据显示变量具有逻辑数据类型。

选择。SelectedVariableNames = varnames;数据=预览(dbds);取消=数据。取消了
取消=8×1逻辑阵列0 0 0 0 0 0 0

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

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

关闭数据库连接。

关上(康涅狄格州)

版本历史

在R2014b中引入

Baidu
map