DatabaseReference[File["filename"]]
表示基于本地文件的 SQL 数据库的参考信息.
DatabaseReference[URL["url"]]
表示一个基于服务器的 SQL 数据库的参考信息.
DatabaseReference[assoc]
表示完全指定的任何 SQL 数据库的参考信息.
DatabaseReference
支持的数据库的列表 »DatabaseReference[File["filename"]]
表示基于本地文件的 SQL 数据库的参考信息.
DatabaseReference[URL["url"]]
表示一个基于服务器的 SQL 数据库的参考信息.
DatabaseReference[assoc]
表示完全指定的任何 SQL 数据库的参考信息.
更多信息
- DatabaseReference[…] 含有如何连接到数据库的信息,但并不进行实际连接. 连接由 RelationalDatabase 这样的函数自动完成,或由数据库查询函数(如 EntityValue)完成.
- 在 DatabaseReference[URL["url"]] 中,"url" 的形式通常为 "backend://user:password@host:port/name".
- 在 DatabaseReference[File["path"]] 中,"path" 是到 SQLite 数据库文件的路径.
- 在 DatabaseReference[assoc] 中,assoc 的常见元素包括:
-
"Backend" 使用的 SQL 后端的类型 "Name" 数据库的名称,或到数据库的路径 "Host" 服务于数据库的主机 "Port" 用于访问数据库的服务器端口 "Username" 用于数据库认证的用户名 "Password" 用于数据库认证的密码 - "Backend" 的可能的值包括 "SQLite"、"PostgreSQL"、"MySQL"、"MicrosoftSQL"、"Oracle".
- 对于基于文件的数据库,如 SQLite,"Name" 给出到含有数据库的文件的路径. 如果没有提供 "Name",则使用内存数据库.
- 对于基于服务器的数据库,"Name" 给出指定端点处数据库的名称.
- 对于基于文件的数据库,无需指定 "Host" 和 "Port" 的值.
- 对于基于服务器的数据库,"Host" 可以是网络主机的名称或一个 IP 地址,用字符串或 IPAddress 对象指定.
- 如果没有指定 "Host" 的值,将使用各类型后端的默认值.
- DatabaseReference[…][prop] 给出数据库的相关信息.
- 属性 prop 可以是 DatabaseReference[assoc] 中可提供的任何元素.
范例
打开所有单元 关闭所有单元基本范例 (4)
根据文件构建 DatabaseReference:
DatabaseReference[FindFile["ExampleData/ecommerce-database.sqlite"]]根据 URL 构建 DatabaseReference:
DatabaseReference["postgres://user:pass@localhost:1000/database"]根据 Association 构建 DatabaseReference:
DatabaseReference[<|"Backend" -> "postgres", "Host" -> "localhost", "Port" -> 1000, "Name" -> "database", "Username" -> "user", "Password" -> "pass"|>]用 ExternalEvaluate 执行 SQL 指令:
ExternalEvaluate[DatabaseReference[FindFile["ExampleData/ecommerce-database.sqlite"]], "SELECT * FROM offices"]范围 (1)
从 DatabaseReference 提取属性:
ref = DatabaseReference["postgres://user:pass@localhost:1000/database"]ref["Username"]ref[{"Username", "Password"}]应用 (4)
与 RelationalDatabase 一起使用以提取数据库的架构:
schema = RelationalDatabase[DatabaseReference[File[FindFile["ExampleData/ecommerce-database.sqlite"]]]]根据 RelationalDatabase 对象构建 EntityStore:
store = EntityStore[schema]注册 EntityStore:
EntityRegister[store]EntityValue["offices", "city"]用 StartExternalSession 打开数据库连接:
session = StartExternalSession[DatabaseReference[FindFile["ExampleData/ecommerce-database.sqlite"]]]ExternalEvaluate[session, "SELECT * FROM offices"]DeleteObject[session];用 ExternalEvaluate 打开连接,执行一次查询,然后关闭连接:
ExternalEvaluate[DatabaseReference[FindFile["ExampleData/ecommerce-database.sqlite"]], "SELECT time('now') as now, sqlite_version() AS version"]DatabaseReference 也可以表示内存 SQLite 数据库:
ExternalEvaluate[
DatabaseReference[<|"Backend" -> "sqlite"|>], "SELECT time('now') as now, sqlite_version() AS version"
]在内存会话中完成的所有操作在 ExternalEvaluate 调用结束时都会丢失:
ExternalEvaluate[
DatabaseReference[<|"Backend" -> "sqlite"|>], {
"CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z);",
"INSERT INTO t(x, y, z) VALUES (1, 2, 3)",
"INSERT INTO t(x, y, z) VALUES (4, 5, 6)",
"SELECT * FROM t"
}]ExternalEvaluate[
DatabaseReference[<|"Backend" -> "sqlite"|>],
"SELECT * FROM t"
]属性和关系 (1)
构建指向一个文件的 DatabaseReference:
file = DatabaseReference[File[FindFile["ExampleData/ecommerce-database.sqlite"]]]DatabaseConnect[file]DatabaseDisconnect[file]可能存在的问题 (1)
DatabaseReference 不保证保数据库一定存在:
ExternalEvaluate[DatabaseReference["postgres://user:pass@localhost:1000/database"], "SELECT NOW()"]技术笔记
相关指南
-
▪
- 使用关系数据库中的信息 ▪
- 表格数据源
文本
Wolfram Research (2019),DatabaseReference,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DatabaseReference.html.
CMS
Wolfram 语言. 2019. "DatabaseReference." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DatabaseReference.html.
APA
Wolfram 语言. (2019). DatabaseReference. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DatabaseReference.html 年
BibTeX
@misc{reference.wolfram_2026_databasereference, author="Wolfram Research", title="{DatabaseReference}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/DatabaseReference.html}", note=[Accessed: 14-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_databasereference, organization={Wolfram Research}, title={DatabaseReference}, year={2019}, url={https://reference.wolfram.com/language/ref/DatabaseReference.html}, note=[Accessed: 14-September-2026]}