暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

arangodb教程:增删改查

洪文聊架构 2021-03-03
1912


Databases, Collections and Documents


1、创建集合

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


区别是你不需要预先定义有哪些列项,以及其属性。在任何collection的每一个document都可以有任何属性。


在一个collection中的数据,在实际应用中当然要有基本一样的数据结构,但是数据库系统本身并没有强调它,无论您的数据看起来如何,它都将稳定,快速地运行。


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


现在,您可以使用默认的_system数据库,并使用Web界面创建集合和文档。


通过点击【COLLECTIONS】菜单,点击【Add Colleciton】按钮即可。


填入名称,比如info2021,其他配置不变。

点击【save】按钮,即创建了一个新的collection,名称为info2021 。


2、插入数据

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


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

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


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

结果如下:


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


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


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


3、操作数据库

查询数据:

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

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


    返回结果如下:


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


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

        FOR info IN info2021 RETURN info


        它表示遍历info2021中的每个文档,并使用info作为变量名,我们可以使用该变量名引用当前的用户文档。


        它也可以被称为doc, u或者ahuacatlguacamole,这取决于你。


        然而,建议使用一个简短的自我描述的名字。

        结果如下:


          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



            更新数据:

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

            执行前:


              UPDATE "19579" WITH { age: 60 } IN info2021


              删除数据:

              根据_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(结构化查询语言)。

                  A

                  rangoDB的查询语言称为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的基本入门的学习和科普。


                  —————END—————


                  喜欢本文的朋友,欢迎关注公众号 洪文聊架构,收看更多的精彩内容




                  喜欢就请"关注/转发/在看"呗^_^


                  文章转载自洪文聊架构,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论