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"は,文字列またはIPAddressオブジェクトを使って指定されたネットワークのホスト名かIPアドレスでよい.
- "Port"の値が指定されていないと,バックエンドの各型のデフォルトが使われる.
- DatabaseReference[…][prop]は,参照されているデータベースについての情報を与える.
- 特性 prop は,DatabaseReference[assoc]に与えられる任意の要素でよい.
例題
すべて開く すべて閉じる例 (4)
DatabaseReferenceをファイルから構築する:
DatabaseReference[FindFile["ExampleData/ecommerce-database.sqlite"]]DatabaseReferenceをURLから構築する:
DatabaseReference["postgres://user:pass@localhost:1000/database"]DatabaseReferenceをAssociationから構築する:
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"]]]]EntityStoreをRelationalDatabaseオブジェクトから構築する:
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 Language. 2019. "DatabaseReference." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DatabaseReference.html.
APA
Wolfram Language. (2019). DatabaseReference. Wolfram Language & System Documentation Center. Retrieved from 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: 13-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: 13-September-2026]}