預先正式發布:2024-07-17
X DevAPI 詳細說明 mysqlx
模組以及 X DevAPI 的功能,這讓您可以將 MySQL 當作文件儲存使用。當 MySQL Shell 使用 X 通訊協定連線至 MySQL 伺服器時,X DevAPI 可讓您同時使用關聯式和文件資料。
諸如 MySQL 等關聯式資料庫通常需要在儲存文件之前定義綱要。然而,您可以將 MySQL 當作文件儲存使用,這是一種無綱要,因此是綱要彈性的文件儲存系統。例如,當您建立描述產品的文件時,您不需要知道並定義任何產品的所有可能屬性,才能儲存和操作文件。這與使用關聯式資料庫並將產品儲存在表格中不同,當所有產品新增至資料庫之前,必須知道並定義表格的所有欄。
使用 X 通訊協定與 MySQL 伺服器通訊的用戶端可以使用 X DevAPI 來開發應用程式。
X DevAPI 指定一組通用的 CRUD 樣式方法。API 由 MySQL Shell 在 JavaScript 和 Python 中實作。下表提供使用 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 用戶端的表格上發出 INSERT 和 SELECT 陳述式。 |
使用關聯式表格和文件 | 將文件用於應用程式內非常特定的任務,並依靠關聯式表格執行其他任務。或者,非常簡單的文件應用程式可能會超出文件模型,並逐步整合或移至更強大的關聯式資料庫。這樣一來,可以結合文件和關聯式表格的優點。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 實作的更多資訊,請參閱