"SQL-JDBC"
支持的数据库列表 »ExternalEvaluate 用法
- ExternalEvaluate["SQL-JDBC",code] 在数据库连接中执行 SQL 字符串并以 Wolfram 语言表达式的形式返回结果.
- ExternalEvaluate["SQL-JDBC"form,code] 执行 SQL 字符串并以指定 form 的形式返回结果. form 的可能规格包括 "Dataset"、"Rows"、"NamedRows"、"Columns" 和 "NamedColumns".
- ExternalEvaluate[{"SQL-JDBC","Evaluator"Evaluator},…] 中 Evaluator 的可能设置包括:
-
"path"or File["path"] 访问 SQLite 数据库的路径 URL["url"] 以形式 "backend://user:password@host:port/name" 指定的连接 DatabaseReference[…] SQL 数据库连接 SQLConnection[…] SQL-JDBC 数据库连接
范例
打开所有单元关闭所有单元基本范例 (2)
范围 (5)
ExternalEvaluate 也接受 DatabaseLink`SQLConnection:
可以使用任何 DatabaseLink` 支持的 JDBC 驱动:
默认情况下,ExternalEvaluate 使用 Dataset 返回数据:
开启本地 PostgreSQL 数据库的会话(要执行这个输入,你需要有一个正常运行的 PostgreSQL 数据库实例):
在支持的情况下,ExternalEvaluate 会返回 Wolfram 语言表达式而非字符串:
字符串模板可用于将 Wolfram 语言表达式插入 SQL 代码:
表达式 x^2+y^2 在 Wolfram 语言中计算,得到的结果在被转换后插入到 SQL 代码字符串中:
使用 Association 可手动向模板提供参数:
根据正在使用的数据库后端对参数进行标准化处理. 如果后端支持的话可以使用像 Integer、ByteArray、String、DateObject 和 TimeObject 这样的表达式:
应用 (2)
数据库中有副效应的操作通常返回 Null:
可能存在的问题 (2)
即使在提供了已打开的连接的情况下,ExternalEvaluate 通常也会在内部保持一个新的连接:
StartExternalSession 会创建一个 JDBC 连接:
在删除 ExternalSessionObject 后,连接会自动关闭: