用途:在 MATLAB 中通过 Database Toolbox 操作关系型数据库,覆盖连接、读取、写入、更新、事务、ORM 与执行 SQL 的完整数据生命周期。适用于 PostgreSQL、MySQL、SQLite、SQL Server、Oracle;DuckDB、Databricks 连接、MongoDB/Cassandra/Neo4j 及纯文件 I/O 不适用。最低支持 R2021a,ORM 需 R2023b 及以上。
主要能力:用 sqlread 读表、fetch 读查询、databaseImportOptions 控制列选择与去重;用 RowFilter 将过滤下推到数据库,避免全量导入后在 MATLAB 过滤;用 sqlwrite 插入、sqlupdate 原地更新、execute 执行 DDL/DML;用 AutoCommit='off' 配合 commit/rollback 管理事务;用 Mappable 类做对象与表映射(ormwrite/ormread/ormupdate);支持存储过程与预处理语句;R2026a 起可用 parfeval 配合每线程独立连接做多线程读写。
使用方式:连接示例 conn = database("myDataSource", getSecret("dbUser"), getSecret("dbPass")),或 postgresql/mysql/sqlite 原生连接;无 DSN 时用 odbc(dsnless) 传连接字符串,或用 databaseConnectionOptions + saveAsDataSource 创建数据源。凭据用 setSecret/getSecret,禁止硬编码密码。sqlupdate 的过滤条件是第 4 个位置参数,import options 是 sqlread 的第 3 个位置参数,均非名称-值对。
限制与规则:DROP/DELETE/TRUNCATE/ALTER 等破坏性操作必须先向用户确认;不要用 execute 执行 BEGIN/COMMIT,应使用 AutoCommit 与 commit/rollback;连接不可跨 parfeval 线程共享;sqlwrite 无 BatchSize,需手动分块;删除行需用 execute 执行 SQL DELETE。