文件首頁
適用於 VS Code 的 MySQL Shell


預先正式發布:2024-07-17

5.7 X DevAPI

X DevAPI 詳細說明 mysqlx 模組以及 X DevAPI 的功能,這讓您可以將 MySQL 當作文件儲存使用。當 MySQL Shell 使用 X 通訊協定連線至 MySQL 伺服器時,X DevAPI 可讓您同時使用關聯式和文件資料。

諸如 MySQL 等關聯式資料庫通常需要在儲存文件之前定義綱要。然而,您可以將 MySQL 當作文件儲存使用,這是一種無綱要,因此是綱要彈性的文件儲存系統。例如,當您建立描述產品的文件時,您不需要知道並定義任何產品的所有可能屬性,才能儲存和操作文件。這與使用關聯式資料庫並將產品儲存在表格中不同,當所有產品新增至資料庫之前,必須知道並定義表格的所有欄。

使用 X 通訊協定與 MySQL 伺服器通訊的用戶端可以使用 X DevAPI 來開發應用程式。

X DevAPI 指定一組通用的 CRUD 樣式方法。API 由 MySQL Shell 在 JavaScriptPython 中實作。下表提供使用 Python 語法之 MySQL Shell 實作的範例豐富使用資訊連結。

依主題分類的更多資訊 描述
連線和工作階段 X DevAPI 工作階段是高階資料庫工作階段概念,與使用傳統低階 MySQL 連線不同。使用 X 通訊協定時,工作階段可以封裝一或多個實際的 MySQL 連線。使用此更高層級的抽象會將實體 MySQL 設定與應用程式程式碼分離。工作階段提供 X DevAPI 的完整支援以及 SQL 的有限支援。
CRUD 作業 使用 X DevAPI 執行建立、讀取、更新和刪除 (CRUD) 作業。MySQL 的核心領域一直是使用關聯式表格。X DevAPI 藉由新增對可以針對文件集合執行之 CRUD 作業的支援來擴展此領域。
使用集合 在集合上使用 CRUD 作業並傳回文件。對集合執行最常見的作業是建立、讀取、更新和刪除 (CRUD) 作業。
使用文件 一旦建立集合,它就可以儲存 JSON 文件。每個文件都有一個稱為文件 ID 的唯一識別碼,可以將其視為表格主索引鍵的對等項目。文件 ID 值通常會在新增文件時由伺服器自動產生,但也可以手動指派。
使用關聯式表格 X DevAPI SQL CRUD 函式可讓您以類似使用傳統 SQL 陳述式的方式使用關聯式表格。使用 X DevAPI SQL CRUD 函式的 add()select() 方法,這類似於在具有 SQL 用戶端的表格上發出 INSERTSELECT 陳述式。
使用關聯式表格和文件 將文件用於應用程式內非常特定的任務,並依靠關聯式表格執行其他任務。或者,非常簡單的文件應用程式可能會超出文件模型,並逐步整合或移至更強大的關聯式資料庫。這樣一來,可以結合文件和關聯式表格的優點。SQL 表格提供嚴格型別的值語意、可預測且經過最佳化的儲存。文件提供類型彈性、綱要彈性和非純量類型。
陳述式發出 使用交易將作業分組為原子單元。X DevAPI 支援儲存點,這讓您可以在交易中設定一個可以還原的具名點。X DevAPI 透過 Collection.find()Table.select() 方法的 lockShared()lockExclusive() 方法支援 MySQL 鎖定。這可讓您控制資料列鎖定,以確保對集合進行安全、交易式的文件更新,並避免並行問題
使用結果集 所有資料庫作業都會傳回結果。傳回的結果類型取決於執行的作業。
建置運算式 使用 CRUD 中的 MySQL 運算式時,可以使用兩種方式指定陳述式。第一種是使用字串來公式化運算式,如果您先前使用 SQL 開發程式碼,應該很熟悉。另一種方法是使用運算式建立器功能。
CRUD EBNF 定義 本節提供 X DevAPI 中可用物件和函式的視覺參考指南。
運算式 EBNF 定義 本節提供 X DevAPI 中使用之運算式語言語法的視覺參考指南。

如需有關使用 JavaScript 語法之 X DevAPI 的 MySQL Shell 實作的更多資訊,請參閱