• mysql 和 mongo db 语法对比


    查询

    MySQL: 
    SELECT * FROM user 
    Mongo: 
    db.user.find() 
    MySQL: 
    SELECT * FROM user WHERE name = ’starlee’ 
    Mongo: 
    db.user.find({‘name’ : ’starlee’}) 

    插入

    MySQL: 
    INSERT INOT user (`name`, `age`) values (’starlee’,25) 
    Mongo: 
    db.user.insert({‘name’ : ’starlee’, ‘age’ : 25}) 
    在MySQL里添加一个字段: 
    ALTER TABLE user…. 
    在MongoDB里添加一个字段: 
    db.user.insert({‘name’ : ’starlee’, ‘age’ : 25, ‘email’ : ’starlee@starlee.com’}) 

    删除

    MySQL: 
    DELETE * FROM user 
    Mongo: 
    db.user.remove({}) 
    MySQL: 
    DELETE FROM user WHERE age < 30 
    Mongo: 
    db.user.remove({‘age’ : {$lt : 30}}) 
    $gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : != 

    更新

    MySQL: 
    UPDATE user SET `age` = 36 WHERE `name` = ’starlee’ 
    Mongo: 
    db.user.update({‘name’ : ’starlee’}, {$set : {‘age’ : 36}}) 
    MySQL: 
    UPDATE user SET `age` = `age` + 3 WHERE `name` = ’starlee’ 
    Mongo: 
    db.user.update({‘name’ : ’starlee’}, {$inc : {‘age’ : 3}}) 
    MySQL: 
    SELECT COUNT(*) FROM user WHERE `name` = ’starlee’ 
    Mongo: 
    db.user.find({‘name’ : ’starlee’}).count() 
    MySQL: 
    SELECT * FROM user limit 10,20 
    Mongo: 
    db.user.find().skip(10).limit(20) 
    MySQL: 
    SELECT * FROM user WHERE `age` IN (25, 35,45) 
    Mongo: 
    db.user.find({‘age’ : {$in : [25, 35, 45]}}) 
    MySQL: 
    SELECT * FROM user ORDER BY age DESC 
    Mongo: 
    db.user.find().sort({‘age’ : -1}) 
    MySQL: 
    SELECT DISTINCT(name) FROM user WHERE age > 20 
    Mongo: 
    db.user.distinct(‘name’, {‘age’: {$lt : 20}}) 
    MySQL: 
    SELECT name, sum(marks) FROM user where name='foo' GROUP BY name 
    Mongo: 
    db.user.group({ 
    key : {‘name’ : true}, 
    cond: {‘name’ : ‘foo’}, 
    reduce: function(obj,prev) { prev.msum += obj.marks; }, 
    initial: {msum : 0} 
    }); 
    MySQL: 
    SELECT name FROM user WHERE age < 20 
    Mongo: 
    db.user.find(‘this.age < 20′, {name : 1}) 

    循环插入数据

    for(var i=0;i<100;i++)db.test.insert({uid:i,uname:’nosqlfan’+i}); 
    上面一次性插入一百条数据,大概结构如下: 
    { “_id” : ObjectId(“4c876e519e86023a30dde6b8″), “uid” : 55, “uname” : “nosqlfan55″ } 
    { “_id” : ObjectId(“4c876e519e86023a30dde6b9″), “uid” : 56, “uname” : “nosqlfan56″ } 
    { “_id” : ObjectId(“4c876e519e86023a30dde6ba”), “uid” : 57, “uname” : “nosqlfan57″ } 
    { “_id” : ObjectId(“4c876e519e86023a30dde6bb”), “uid” : 58, “uname” : “nosqlfan58″ } 
    { “_id” : ObjectId(“4c876e519e86023a30dde6bc”), “uid” : 59, “uname” : “nosqlfan59″ } 
    { “_id” : ObjectId(“4c876e519e86023a30dde6bd”), “uid” : 60, “uname” : “nosqlfan60″ }
  • 相关阅读:
    electron 整合 serialport
    javascript 中字符串转化utf8字节数组, 然后在将字节数组转化十六进制字符串
    linux 之 非root用户安装mysql5.7.27
    linux(CentOS7) 之 zookeeper 下载及安装
    linux(CentOS7) 之 ntp时间同步配置步骤
    linux(CentOS7) 之 克隆虚拟机并配置网络(固定ip)
    linux(CentOS7) 之 MySQL 5.7.30 下载及安装
    linux(CentOS7) 之 jdk1.8 下载及安装
    Vue.prototype定义原型属性或方法
    Map接口中的常用方法
  • 原文地址:https://www.cnblogs.com/smallgo/p/3060940.html
Copyright © 2020-2023  润新知