• Mysql shell 控制台---mysqlsh


     

    以前登录Mysql的控制台后,使用SQL语言来操作数据库,如

    mysql> select * from tablename;

    Mysql 5.7.12 之后有了比较大的变化,支持了JSON文档的操作,同时也提供了全新的数据库操作方式,现在可以不需要SQL的知识,以非常自然的代码方式操作数据库,例如

    db.news.insert("create_date", "title")

      .values("2016-04-10", "hello");

    可以登录 shell 控制台使用,也有新版本的驱动,可以在代码中使用

    shell 控制台有 Javascript版本,下面就体验一下新的操作方式

    登录 shell控制台

    mysqlsh -u root world_x

    world_x 是数据库名称,是官方提供的一个测试库

    mysql-js>

    这个提示说明当前的交互语言是 Javascript

    因为Mysql支持了JSON文档,所以操作的对象除了传统的关系数据表外,增加了文档集合

    先看下传统表操作有什么变化

    查询

    mysql-js> db.City.select(["Name", "CountryCode"])

                    .where("Name like 'Z%'")

    select 中的 ["Name", "CountryCode"] 表示只返回这两列的信息,where 中是查询条件

    可以对查询条件进行参数绑定

    mysql-js> db.City.select(["Name", "CountryCode"])

                    .where("Name like :name")

                    .bind("name", "Z%")

    排序和限定结果数量

    mysql-js> db.Country.select(["Code", "Name"])

                    .orderBy(["Name desc"]).limit(3)

    插入

    mysql-js> db.City.insert("ID", "Name", "CountryCode")

        .values(1, "Little Falls", "USA")

        .values(2, "Happy Valley", "USA")

    可以定义多个 value 来插入多条记录

    修改

    mysql-js> db.City.update( )

                    .set("Name", "Beijing")

                    .where("Name = 'Peking'")

    删除

    mysql-js> db.City.delete( )

                    .where("Name = 'Olympia'")

    可以看到,使用了函数链的方式,很容易理解,对于不熟悉SQL的开发人员也很友好

    操作集合

    添加文档

    执行 CountryInfo 集合的 add 方法,参数是新文档的 JSON 数据

    查询

    使用 find 方法执行查询操作,由于查询结果太长,下面的示例就不显示结果信息了

    (1)列出所有文档

    mysql-js> db.CountryInfo.find( )

    (2)条件查询

    mysql-js> db.CountryInfo.find("_id = '888'")

    mysql-js> db.CountryInfo.find("GNP > 50 and demographics.Population < 100")

    (3)参数绑定

    mysql-js> db.CountryInfo.find("Name = :country")

                    .bind("country", "Italy")

    (4)limit 与 sort

    mysql-js> db.CountryInfo.find( )

                    .sort(["IndepYear desc"])

                    .limit(8).skip(1)

    修改文档

    使用集合的 modify 与 set 的方法链来修改文档,modify 参数指明目标文档的查找条件,set 参数中给出修改方案

    可以与 modify 配合的不只是 set,还有 unset、arrayAppend、arrayInsert、arrayDelete 等方法

    删除文档

    (1)删除符合条件的文档

    mysql-js> db.CountryInfo.remove("_id = 'SEA'")

    (2)先对结果集排序,然后删除第一个

    mysql-js> db.CountryInfo.remove( )

                    .sort(["Name desc"]).limit(1)  

    这个全新的操作方式降低了开发难度,例如一个开发者熟悉 MongoDB,但不熟悉SQL,那么现在也可以轻松的使用Mysql

  • 相关阅读:
    打赏
    996315便捷扫码接口的使用方法
    openjdk ImageIO.write()时出现Invalid argument to native writeImage
    CentOS7通过rpm包升级openssh8.8
    python docx转pdf
    python生成币私钥公钥
    二叉树的非递归后序遍历算法
    STM32引脚做输入时,有开漏,浮空输入,弱上拉,弱下拉,等多种方式,如何选择????
    TLC2551驱动问题
    connot launth the modelsimaltera softwarre because you did not specify the path to the executables of the modelsimaltera softwarre
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5667037.html
Copyright © 2020-2023  润新知