ArangoDB(二) :AQL 與 Arangosh.exe 介紹

AQL & SQL

SQL 例子 含義 例子 AQL
SELECT SELECT * FROM table_name; 從 數據表 / 集合 中提取數據 FOR c IN collection_name RETURN c RETURN
UPDATE UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; 更新 數據表 / 集合 中的數據 UPDATE _key WITH {attribute: value} IN collection_name UPDATE
DELETE DELETE FROM table_name WHERE some_column=some_value; 從 數據表 / 集合 中刪除數據 REMOVE _key IN collection_name REMOVE
INSERT INTO INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...); 向 數據表 / 集合 中插入新數據 INSERT { "attribute1": "value1", "attribute2": "value2" } INTO collection_name INSERT INTO
CREATE TABLE CREATE TABLE table_name( column_name1 data_type(size), column_name2 data_type(size), .... ); 創建新表
DROP TABLE DROP TABLE table_name 刪除表

AQL 之 組合 的用法 🐸

✒️語法:MERGE()

MERGE() 的功能是將對象組合在一起。

將多個文檔合併爲一個文檔:

  • 具有不同屬性名稱的兩個文檔可以輕鬆地合併爲一個:
    MERGE(
    	{ "user1": { "name": "Kitty" } },
    	{ "user2": { "name": "Miao" } }
    )
    // { "user1": { "name": "Kitty" }, "user2": { "name": "Miao" } }
    
  • 合併具有相同屬性名稱的文檔時,最終結果將使用後一文檔的屬性值:
    MERGE(
    	{ "users": { "name": "Kitty" } },
    	{ "users": { "name": "Miao" } }
    )
    // { "users": { "name": "Miao" } }
    

✒️語法:MERGE_RECURSIVE()

MERGE_RECURSIVE(
    { "user-1": { "name": "Jane", "livesIn": { "city": "LA" } } },
    { "user-1": { "age": 42, "livesIn": { "state": "CA" } } }
)

Arangosh.exe

Arangosh.exe 是 ArangoDB 數據庫 Shell環境,客戶端實現 Read-Eval-Print-Loop(REPL)和提供的功能來訪問和管理 arangodb 服務器。

開始使用
  • 前提:ArangoDB 服務器已被啓用 /usr/local/Cellar/arangodb/3.5.0_1/sbin/arangod

  • 啓動 shell

    /usr/local/Cellar/arangodb/3.5.0_1/bin/arangosh
    
簡單的 shell 說明
  1. 數據庫操作
  • 獲取 _system 數據庫名
    require("@arangodb").db._name();
    
  • 創建數據庫
    db._createDatabase("test1");
    
  • 列出所有數據庫
    db._databases();
    
  • 刪除數據庫
    db._dropDatabase("test1");
    
  • 切換數據庫
    db._useDatabase("scores");	
    
  1. 集合操作
  • 創建集合

    db._create("scores");
    
  • 羅列集合

    db._collections();
    
  • 刪除集合

    db._drop("test");
    
  1. 數據操作
  • db.scores.insert({"name":"kukky","class":"web","score":95});
    
  • db.scores.update({"_key":"155648"},{"score":96});
    
  • db.scores.remove({"_key":"155648"});	
    
  • //有條件
    db.scores.byExample({"name":"kukky"}).toArray();
    
    //沒條件,所有的都查詢
    db.scores.byExample().toArray();
    



🔗 相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章