ArangoDB(二) :AQL 与 Arangosh.exe 介绍

AQL & SQL

SQL例子含义例子AQL
SELECTSELECT * FROM table_name;从 数据表 / 集合 中提取数据FOR c IN collection_name RETURN cRETURN
UPDATEUPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;更新 数据表 / 集合 中的数据UPDATE _key WITH {attribute: value} IN collection_nameUPDATE
DELETEDELETE FROM table_name WHERE some_column=some_value;从 数据表 / 集合 中删除数据REMOVE _key IN collection_nameREMOVE
INSERT INTOINSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);向 数据表 / 集合 中插入新数据INSERT { "attribute1": "value1", "attribute2": "value2" } INTO collection_nameINSERT INTO
CREATE TABLECREATE TABLE table_name( column_name1 data_type(size), column_name2 data_type(size), .... );创建新表
DROP TABLEDROP 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();
    



? 相关链接

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值