`
jias_je
  • 浏览: 39606 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

转 mongodb mysql 基本语法对比

 
阅读更多

转载地址
http://blog.nosqlfan.com/html/287.html 

查询:
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 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})

#昨天做了个mysql(jdbc) 和 mongodb(java driver) 插入10 0000条数据的对比

mysql 一次insert一条 共insert10万次 用时 1817487ms

mysql 一次批量插入 执行一次insert   用时 2358ms

mongodb  一次insert一条 共insert10万次 用时 5489ms

mongodb从表面看是insert10万次,但真正去写数据库的时候可能只用了1到3次 这和mysql的第二种方式差不多

由此来看mongodb的插入同等情况下应该比mysql快  

分享到:
评论

相关推荐

    MongoDB系列教程(五):mongo语法和mysql语法对比学习

    我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识。 mongodb与mysql命令对比  关系型数据库一般是由数据库(database)、表(table)、记录...

    MongoDB常用语法/Mongodb的基本使用

    MongoDB的基本常用语法:1、创建、查询数据库 创建数据库 查询数据库 2、创建集合、查看 创建集合插入数据 查看集合 查看集合中的数据 3、删除集合、删除数据库 删除集合 删除数据库 4、操作符 4、增、删、改、查 1...

    mongodb从基础到深入到集群部署

    从nosql到mongodb与mysql语法的对比,以及mongodb的shard及replia

    MySQL vs MongoDB

    MySQL和MongoDB是两种非常流行的数据库管理系统,它们分别代表了关系型数据库(RDBMS)和文档型数据库(NoSQL)的典型代表。在选择数据库系统时,了解它们的特性和差异至关重要。以下是对这两种数据库的详细比较: ...

    navicat 连接mysql、mongodb工具

    【Navicat 连接MySQL、MongoDB工具详解】 Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括MySQL和MongoDB等。它提供了一个直观的图形界面,使得数据库的管理和开发工作变得简单易行。以下是关于...

    mysql2mongoDB:mysql2mongoDB-将您的Mysql数据迁移到MongoDB

    - 谨慎处理索引和查询优化,因为MongoDB的查询语法和MySQL有很大区别。 ### 总结 `mysql2mongoDB`提供了一个便捷的方法,帮助用户从传统的SQL世界过渡到NoSQL的MongoDB。通过了解其工作原理和使用方法,你可以更...

    MongoDB基本操作指南

    MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:使用JSON风格语法,易于掌握和理解:MongoDB使用...

    安装PMM Server-监控mongodb mysql.md

    Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。 PMM提供了对MyISAM、InnoDB、TokuDB和PXC/...

    Go操作MySql Memache Mongodb

    本主题将探讨如何在Go环境中操作MySQL、Memcached和MongoDB这三种不同的数据库系统,以便于理解如何利用Go进行数据存储和检索。 首先,让我们从MySQL开始。MySQL是一种关系型数据库管理系统(RDBMS),在Web应用中...

    MongoDB与mysql对比

    什么是mongodb ...MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象 的查 询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建 立索 引。它是

    mongodb与mysql命令详细对比

    MongoDB和MySQL是两种不同类型的数据库系统,它们在数据存储、查询语法以及设计哲学上有显著差异。MongoDB是一种NoSQL数据库,强调灵活性和高性能,而MySQL则是经典的SQL关系型数据库,以其稳定性和ACID(原子性、...

    MongoDB与MySQL的操作对比表及区别介绍

    - MongoDB使用的是MongoDB查询语言(MQL),它支持类似JavaScript的语法,如`db.collection.find()`, `db.collection.insertOne()`, `db.collection.updateOne()`等。 3. **数据插入**: - MySQL插入一条记录使用...

    tp6+mongodb.zip

    此外,还需要安装`topthink/think-mongo`这个扩展库,它提供了TP6与MongoDB的适配器,使得我们可以像操作MySQL一样操作MongoDB。 在整合过程中,可能会遇到的一个问题是原生MongoDB PHP库与TP6的ORM机制不完全兼容...

    MYSQL学习资料

    mysql与MongoDB语法对比 mysql分表的3种方法 MySQL数据库扩展小记 mysql架构方案 MySQL水平分区表实际操作总结 Mysql水平分表 mysql水平分表和垂直分表和数据库分区 sysbench mysql 坚持不懈 sysbench安装和使用 ...

    mongodb客户端

    在这个场景中,我们讨论的是一个特定的MongoDB客户端,它允许用户从MySQL数据库直接导入数据。 MongoDB客户端工具为开发人员和数据库管理员提供了多种功能,包括数据可视化、文档编辑、查询构建、性能监控等。例如...

    MongoDB_two_MongoDB_

    在深入探讨MongoDB的学习和设计灵魂之前,我们先来理解MongoDB的基本概念和特性。 MongoDB采用NoSQL数据模型,它不同于传统的关系型数据库,如MySQL或Oracle,后者依赖于固定的表结构和行列式数据存储。MongoDB使用...

    java jquery mongodb/mysql 分页

    本篇文章将详细讲解Java、jQuery、MongoDB与MySQL数据库在实现分页时的关键知识点。 首先,Java是后端开发的主要语言之一,用于处理数据库查询、业务逻辑以及与前端交互。在Java中,我们可以使用JDBC(Java ...

    mysql Redis MongoDB学习.zip

    为了深入学习这三种数据库,你可以通过阅读官方文档、参与在线课程、实践项目等方式,了解它们的基本操作、查询语法、性能优化技巧以及最佳实践。在kwan1117这个文件中,可能包含了关于MySQL、Redis和MongoDB的学习...

    distributeTemplate 可以进行所有mysql mongodb file rab分布式上的SQL语法进行 增删改查

    1. **MySQL**:作为最常见的关系型数据库,MySQL支持标准的SQL语法。distributeTemplate能够帮助开发者执行事务处理,确保数据的一致性和完整性,同时在分布式环境中实现数据分片和读写分离,提高系统的性能和可扩展...

Global site tag (gtag.js) - Google Analytics