美文网首页数据库专题
arangodb教程:增删改查

arangodb教程:增删改查

作者: 洪文聊架构 | 来源:发表于2021-01-24 13:15 被阅读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的基本入门的学习和科普。

    相关文章

      网友评论

        本文标题:arangodb教程:增删改查

        本文链接:https://www.haomeiwen.com/subject/edrmzktx.html