用途:从关系型数据库导入数据到 MATLAB,利用 Database Toolbox 的下推能力把行过滤、列选择、去重和连接交给数据库执行,而非在 MATLAB 中处理。
主要能力:sqlread 用于读取数据库表,fetch 用于执行 SQL 查询;RowFilter 将行过滤下推到数据库;databaseImportOptions 配合 SelectedVariableNames 选择列,ExcludeDuplicates 去重;sqlinnerjoin/sqlouterjoin 用于两表连接。
使用方式:操作前用 isopen(conn) 验证连接,结束后调用 close(conn)。简单过滤可直接用 RowFilter 名称-值参数;需要列选择或去重时用 opts.RowFilter。连接函数不接受 databaseImportOptions,需在连接后于 MATLAB 中选择列,或改用 fetch 写显式 SQL。三表以上连接、聚合、连接加列选择等复杂场景应回退到 fetch 显式 SQL。
适用场景:单表导入、SQL 查询导入、行过滤、列选择、去重、两表连接及其组合。
限制:不适用于写入数据(应使用 sqlwrite/sqlupdate/execute)、超出内存的大数据(应使用 DatabaseDatastore 与 tall 数组或 splitsqlquery)、面向对象读取(应使用 ORM)、以及 MongoDB、Cassandra、Neo4j 等非关系型数据库。下推连接仅限两表且不支持聚合。列数超过 50 时建议用 SelectedVariableNames 限制列。
其他细节(如具体参数、完整示例)暂未提供。