【前情提要】
對於資料庫,我們時常提出增刪查改,也就是俗稱的 CRUD(Create, Read, Update, Delete)操作。在之前我們都只讀取資料,那這期呢則會進入編輯修改的操作。我們廢話不多說趕緊開始吧。
【重點整理】
- 透過 REPLACE 能修改整個資料,而不僅僅選擇的屬性
【預計內容】
- 新增資料
- 更新資料
- 刪除資料
【主要內容】
1. 新增資料
那首先當然是最重要的部分 — 建立資料,下方範例 INSERT 自製的假資料。執行後,應該會顯示寫入了幾筆,我們再去資料庫中檢查。發現新的資料確實存進去了。
INSERT {
"artist_id": 2420,
"full_name": "BaBaoChou",
"nationality": "R.O.C.",
"style": "Beginner"
} INTO artist_vertices
2. 修改資料
今天我覺得資料有誤了,怎麼可能只有新手等級呢?這時,我們能透過 UPDATE 與 _key 來進行修改。有興趣的也可以多研究下 INSERT 的 overwrite 屬性,相對我不太推薦增加改動的風險。
那下方,我們只修改我們的繪畫風格的屬性。
UPDATE "22212" WITH {
"style": "Pro Digital Painting"
} in artist_vertices
但我們能想像,我們能修改更多甚至新增屬性,但如何刪除呢?這時,我們就要依靠 REPLACE 方法,它會覆蓋掉所有的資料欄位。如下方,扣掉索引值最後只會保存兩種屬性。
REPLACE {
_key: "22212",
artist_id: 2420,
"style": "Digital Painting"
} IN artist_vertices
3. 刪除資料
那今天如果有不想要的資料,我們不可能讓它活在資料庫中占位置。因此,我們接著就要用 REMOVE 方法透過 _key 刪除資料,或者利用 DOCUMENT 來刪除。
REMOVE "22212" IN artist_vertices
REMOVE DOCUMENT("artist_vertices/22212") IN artist_vertices
【後話】
那在這篇,我們簡單的講過如何編輯資料。那 Query 的基本操作大概也到這邊為止,之後有機會再推出進階的語法。那之後將先把資料備份的方法為主軸,盡快讓文章與各位會面。
【參考資料】
[1] Data Queries
https://docs.arangodb.com/3.12/aql/data-queries/#data-modification-queries
【延伸閱讀】
[1] INSERT
https://docs.arangodb.com/3.12/aql/high-level-operations/insert/
[2] UPSERT
https://docs.arangodb.com/3.12/aql/high-level-operations/upsert/