数据库专题

arangodb教程:增删改查

2021-01-24  本文已影响0人  洪文聊架构

Databases, Collections and Documents

1、创建集合

数据库是Collections的集合,Collections存储记录,记录即所谓Documents。Collections和关系数据库中的表是一个概念,documents就相当于table中的记录rows。

区别是你不需要预先定义有哪些列项,以及其属性。在任何collection的每一个document都可以有任何属性。在一个collection中的数据,在实际应用中当然要有基本一样的数据结构,但是数据库系统本身并没有强调它,无论您的数据看起来如何,它都将稳定,快速地运行。

在数据模型概念的章节,你可以阅读更多内容。

现在,您可以使用默认的_system数据库,并使用Web界面创建集合和文档。通过点击【COLLECTIONS】菜单,点击【Add Colleciton】按钮即可。

image.jpeg

填入名称,比如info2021,其他配置不变,点击【save】按钮,即创建了一个新的collection,名称为info2021 。

image.jpeg

2、插入数据

目前collection中没有记录。接下来我们创建记录:

image.jpeg

单击右侧带有白色加号的绿色圆圈,以在此集合中创建第一个文档。

image.jpeg

对话框将要求您输入_key。您可以将该字段保留为空白,然后单击“创建”以让数据库系统分配一个自动生成的(唯一)密钥。请注意,_key属性是不可变的,这意味着一旦创建文档便无法更改它。

输入一条记录,点击创建即可。
image.jpeg image.jpeg

在内容展示的面板,直接可以修改数据,并可以按右下角保存按钮修改数据。

可以多插入几条记录,接下来就可以实践一下如何查出这些数据。

在info2021集合中,共插入4条数据,如下所示:

image.jpeg

3、操作数据库

查询数据:

在info2021集合中,查询ID是19579的记录:

return document("info2021","19579") 
#或 
return document("info2021/19579")

返回结果如下:

image.jpeg
RETURN DOCUMENT( ["info2021/19579", "info2021/19768", "info2021/20234"] )

如果想返回表中所有的记录,执行如下语句,进行遍历:

FOR info IN info2021 RETURN info

它表示遍历info2021中的每个文档,并使用info作为变量名,我们可以使用该变量名引用当前的用户文档。它也可以被称为doc, u或者ahuacatlguacamole,这取决于你。然而,建议使用一个简短的自我描述的名字。

结果如下:

image.jpeg
FOR info IN info2021 SORT info._key RETURN info

@插入数据:

INSERT { "name": "xiaowang1", "age": 25, "company": "baidu", "insert_time": "2020/12/21 10:54:13" } INTO users
image.jpeg

更新数据,将_key为19579的记录的age字段从25更新到60:

执行前:

image.jpeg
UPDATE "19579" WITH { age: 60 } IN info2021
image.jpeg

删除数据:

根据_key值,去删除对应的记录

REMOVE "19579" IN info2021

我们还可以循环删除文档(对于INSERT,UPDATE和REPLACE来说也是如此):

FOR info IN info2021 FILTER info.age >= 30 REMOVE info IN info2021
来自SQL

如果您使用过关系数据库管理系统(RDBMS)(例如MySQL,MariaDB或PostgreSQL),则将熟悉其查询语言,即SQL(结构化查询语言)。

ArangoDB的查询语言称为AQL。尽管数据库系统的数据模型不同,但两种语言之间还是有一些相似之处。最显着的差异可能是AQL中循环的概念,这使其更像是一种编程语言。它更适合无模式模型,使查询语言非常强大,同时又易于读取和编写。

要开始使用AQL,请看一下我们对SQL和AQL的详细比较。在迁移到ArangoDB时,它还将帮助您将SQL查询转换为AQL。

具体请参考:https://www.arangodb.com/community-server/sql-aql-comparison/

更多AQL相关语法就参考官网:https://www.arangodb.com/docs/stable/aql/index.html

以上完成了arangodb的基本入门的学习和科普。

上一篇下一篇

猜你喜欢

热点阅读