• 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

  • 相关阅读:
    再次或多次格式化导致namenode的ClusterID和datanode的ClusterID之间不一致的问题解决办法
    Linux安装aria2
    POJ 3335 Rotating Scoreboard 半平面交
    hdu 1540 Tunnel Warfare 线段树 区间合并
    hdu 3397 Sequence operation 线段树 区间更新 区间合并
    hud 3308 LCIS 线段树 区间合并
    POJ 3667 Hotel 线段树 区间合并
    POJ 2528 Mayor's posters 贴海报 线段树 区间更新
    POJ 2299 Ultra-QuickSort 求逆序数 线段树或树状数组 离散化
    POJ 3468 A Simple Problem with Integers 线段树成段更新
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5667037.html
Copyright © 2020-2023  润新知