• MySQL新特性文档型数据库


    mongodb在文档型数据库这方面一直做的很好,也发展了很多年,MySQL作为一个比较大众的数据库也慢慢支持了该特性,下面介绍一下MySQL支持文档型数据库的简单操作。

    环境:

    主机名 IP 系统 软件
    master 192.168.91.46 RHEL MYSQL8.0.17/mysqlsh   Ver 8.0.17

    [root@master ~]# mysqlsh --mysqlx  -u root  -pkavl7kAkkle! --file /opt/world_x-db/world_x.sql WARNING: Using a password on the command line interface can be insecure.  建立schema

    Records: 4079  Duplicates: 0  Warnings: 0

    Records: 239  Duplicates: 0  Warnings: 0

    Records: 239  Duplicates: 0  Warnings: 0

    Records: 984  Duplicates: 0  Warnings: 0

    进入库中:

    [root@master ~]# mysqlsh --mysqlx  -u root  -pkavl7kAkkle! --database world_x

    MySQL Shell 8.0.17

    Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its affiliates.

    Other names may be trademarks of their respective owners.

    Type 'help' or '?' for help; 'quit' to exit.

    WARNING: Using a password on the command line interface can be insecure.

    Creating an X protocol session to 'root@localhost/world_x' Fetching schema names for autocompletion... Press ^C to stop.

    Your MySQL connection id is 240126 (X protocol)

    Server version: 8.0.17 MySQL Community Server - GPL

    Default schema `world_x` accessible through db.  

    MySQL  localhost:33060+ ssl  world_x  JS >

    或者:

    [root@master ~]# mysqlsh --mysqlx  -u root  -pkavl7kAkkle!

     MySQL  localhost:33060+ ssl  JS > use world_x
    Default schema `world_x` accessible through db.
     MySQL  localhost:33060+ ssl  world_x  JS >

    获取所有的表

     MySQL  localhost:33060+ ssl  world_x  JS > db.getCollections()
    [
        <Collection:countryinfo>
    ]

    查看所有的数据:

     MySQL  localhost:33060+ ssl  world_x  JS > db.countryinfo.find().limit(1)
    {
        "GNP": 828,
        "_id": "ABW",
        "Name": "Aruba",
        "IndepYear": null,
        "geography": {
            "Region": "Caribbean",
            "Continent": "North America",
            "SurfaceArea": 193
        },
        "government": {
            "HeadOfState": "Beatrix",
            "GovernmentForm": "Nonmetropolitan Territory of The Netherlands"
        },
        "demographics": {
            "Population": 103000,
            "LifeExpectancy": 78.4000015258789
        }
    }
    1 document in set (0.0005 sec)
     MySQL  localhost:33060+ ssl  world_x  JS >

    统计有多少条数据:

    MySQL  localhost:33060+ ssl  world_x  JS > db.countryinfo.count()
    239

    创建一个表:

     MySQL  localhost:33060+ ssl  world_x  JS > db.createCollection("student_info");
    <Collection:student_info>

     MySQL  localhost:33060+ ssl  world_x  JS > db.getCollections()
    [
        <Collection:countryinfo>,
        <Collection:student_info>
    ]

    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.add({name:'thunder',age:27,gender:"man"})
    Query OK, 1 item affected (0.0066 sec)

    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.add({aihao:"pingpang",yuyan:"shell"})
    Query OK, 1 item affected (0.0076 sec)

    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.add({name:'ss',age:25,gender:"girl"})
    Query OK, 1 item affected (0.0072 sec)
     MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.add({name:'aa',age:24,gender:"girl"})
    Query OK, 1 item affected (0.0039 sec)
     MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.add({name:'jj',age:27,gender:"boy"})
    Query OK, 1 item affected (0.0118 sec)

     MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.find()
    {
        "_id": "00005da579b70000000000000001",
        "age": 27,
        "name": "thunder",
        "gender": "man"
    }
    {
        "_id": "00005da579b70000000000000002",
        "aihao": "pingpang",
        "yuyan": "shell"
    }
    2 documents in set (0.0005 sec)

    按照条件查询

    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.find("age=27")
    {
        "_id": "00005da579b70000000000000001",
        "age": 27,
        "name": "thunder",
        "gender": "man"
    }
    1 document in set (0.0008 sec)

     MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.find("age>27")
    Empty set (0.0007 sec)

    删除文档的语法结构:

    db.集合名称.remove(条件)
    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.find("age=24")
    {
        "_id": "00005da579b70000000000000004",
        "age": 24,
        "name": "qian",
        "gender": "girl"
    }
    {
        "_id": "00005da579b70000000000000008",
        "age": 24,
        "name": "aa",
        "gender": "girl"
    }
    2 documents in set (0.0006 sec)

    MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.remove("age=24")
    Query OK, 2 items affected (0.0044 sec)
     MySQL  localhost:33060+ ssl  world_x  JS > db.student_info.find("age=24")
    Empty set (0.0004 sec)

  • 相关阅读:
    Django的路由寻址
    Guava Cache 原理分析与最佳实践
    「必知必会」最细致的 ArrayList 原理分析
    「必知必会」最细致的 LinkedList 原理分析
    oracle listagg() 函数
    .net HttpClient 向 WebApi Post 的方法
    MySql 如何让表名支持大小写
    Java的基本数据类型
    CF666E
    spring使用mybatis执行SQL脚本,创建和初始化数据库
  • 原文地址:https://www.cnblogs.com/winter1519/p/11684514.html
Copyright © 2020-2023  润新知