MySQL与MongoDB的操作对比,以及区别
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL(全称Structured Query Language)语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。
|
作用 |
MySQL |
MongoDB |
|
|
|
|
|
服务器守护进程 |
mysqld |
mongod |
|
客户端工具 |
mysql |
mongo |
|
逻辑备份工具 |
mysqldump |
mongodump |
|
逻辑还原工具 |
mysql |
mongorestore |
|
数据导出工具 |
mysqldump |
mongoexport |
|
数据导入工具 |
source |
mongoimport |
|
|
|
|
|
新建用户并授权 |
grant all on *.* |
db.addUser("user","psw") |
|
显示库列表 |
show databases; |
show dbs |
|
进去库 |
use dbname; |
use dbname |
|
显示表列表 |
show tables; |
show collections |
|
查询主从状态 |
show slave status; |
rs.status |
|
创建库 |
create database name; |
无需单独创建,直接use进去 |
|
创建表 |
create table tname(id int); |
无需单独创建,直接插入数据 |
|
删除表 |
drop table tname; |
db.tname.drop() |
|
删除库 |
drop database dbname; |
首先进去该库,db.dropDatabase() |
|
|
|
|
|
插入记录 |
insert into tname(id) value(2); |
db.tname.insert({id:2}) |
|
删除记录 |
delete from tname where id=2; |
db.tname.remove({id:2}) |
|
修改/更新记录 |
update tname set id=3 |
db.tname.update({id:2}, |
|
|
|
|
|
查询所有记录 |
select * from tname; |
db.tname.find() |
|
查询所有列 |
select id from tname; |
db.tname.find({},{id:1}) |
|
条件查询 |
select * from tname where id=2; |
db.tname.find({id:2}) |
|
条件查询 |
select * from tname where id < 2; |
db.tname.find({id:{$lt:2}}) |
|
条件查询 |
select * from tname where id >=2; |
db.tname.find({id:{$gte:2}}) |
|
条件查询 |
select * from tname where id=2 |
db.tname.find({id:2, |
|
条件查询 |
select * from tname where id=2 |
db.tname.find($or:[{id:2}, |
|
条件查询 |
select * from tname limit 1; |
db.tname.findOne() |
|
|
|
|
|
模糊查询 |
select * from tname where name |
db.tname.find({name:/ste/}) |
|
模糊查询 |
select * from tname where name |
db.tname.find({name:/^ste/}) |
|
|
|
|
|
获取表记录数 |
select count(id) from tname; |
db.tname.count() |
|
获取有条件 |
select count(id) from tname |
db.tname.find({id:2}).count() |
|
查询时去掉 |
select distinct(last_name) |
db.tname.distinct('last_name') |
|
|
|
|
|
正排序查询 |
select *from tname order by id; |
db.tname.find().sort({id:1}) |
|
逆排序查询 |
select *from tname |
db.tname.find().sort({id:-1}) |
|
|
|
|
|
取存储路径 |
explain select * from tname |
db.tname.find({id=3}).explain() |
MySQL与MongoDB的操作对比,以及区别的更多相关文章
- 1.MySQL与MongoDB的操作对比,以及区别
转自:https://www.cnblogs.com/chris-oil/p/4982490.html MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoD ...
- MySQL 与 MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- [转]MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- MySQL与MongoDB的区别
一.MongoDB简介 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨 ...
- MySQL和Mongodb的区别与应用场景对比
MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...
- MySQL、MongoDB、Redis 数据库之间的区别
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...
- mysql和mongodb的区别
1.mongodb的概括 MongoDB(文档型数据库):提供可扩展的高性能数据存储 2.mongodb的功能概括 (1)基于分布式文件存储 (2)高负载情况下添加更多节点,可以保证服务器性能 (3) ...
- MySql、Mongodb和Redis的区别
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...
随机推荐
- [其他]Ubuntu安装genymotion后unable to load VirtualBox engine
问题: Ubuntu安装genymotion后unable to load VirtualBox engine 解决办法: 如果没有安装VirtualBox,要先安装VirtualBox. 安装Vir ...
- TexturePacker大图还原成小图工具带源码
TexturePacker是一个把好多小图打成大图的软件,生成的是大图以及小图在大图位置的.plist描述文件,但是不支持把大图还原成小图.网上偷的图一般都是大图和plist,想得到小图比较麻烦,于是 ...
- 通过JavaScript原型链理解基于原型的编程
零.此文动机 用了一段时间的Lua,用惯了Java C++等有Class关键字的语言,一直对Lua的中的面向对象技术感到费解,一个开源的objectlua更是看了n遍也没理解其中的原理,直到看到了Pr ...
- mac os intellij如何快路查看一个java类的所有方法,结构
如果是自己写的java类,点击点击导航的project-setting-show members 如果是系统库的,点击structure 再点一下lib中的类,或者快捷键 command+F12
- MVP模式在Android项目中的使用
以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MV ...
- iOS-H5学习篇-01
什么是HTML? HTML 是用来描述网页的一种语言. 0.HTML 指的是超文本标记语言 1.HTML 不是一种编程语言,而是一种标记语言 2.标记语言是一套标记标签 3.HTML 使用标记标签来描 ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 【转】探索C#之布隆过滤器(Bloom filter)
原文:蘑菇先生,http://www.cnblogs.com/mushroom/p/4556801.html 背景介绍 Bloom filter(后面简称BF)是Bloom在1970年提出的二进制向量 ...
- yii2 GridView 日期格式化并实现日期可搜索 案例
作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dateformat_search 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且 ...
- 使用iText库创建PDF文件
前言 译文连接:http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ 对于excel文件的读 ...