zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php之static静态变量详解
    设计模式【代理模式】
    小牟Andorid下面MD5具体实现的思路总结
    ubuntu14.04安装MySQL
    Android手机定位技术的发展
    我不同意你,这是您的支持
    我要遵守11文章数据库设计指南
    quick-cocos2d-x游戏开发【3】——display.newSprite创建向导
    第二章 自己的框架WMTS服务,下载数据集成的文章1
    JSTL实现int数据的类型的长度
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5667037.html
Copyright © 2011-2022 走看看