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 ...
随机推荐
- Lock同步锁--线程同步
Lock-同步锁 Lock是java5提供的一个强大的线程同步机制--通过显示定义同步锁对象来实现同步.Lock可以显示的加锁.解锁.每次只能有一个线程对lock对象加锁. Lock有ReadLock ...
- Android ThreadUtil 线程公共类,判断是否在主线程/ 子线程执行 相关操作
前言:通常,我们写的公共的模块给别人用,但是这个模块又必须在特定的线程中执行. 比如,一个加载网络图片的的方法,需要在子线程中执行. /** * 加载网络图片 */ private void load ...
- Android 扒开美女衣服
本文主要实现一个小的扒开美女衣服的游戏项目 效果如下: 项目布局设计: <FrameLayout xmlns:android="http://schemas.android.com/a ...
- 【工具相关】iOS-Reveal的使用
一,首先下载Reveal工具. Reveal的下载地址:http://revealapp.com/download. 下载界面如下图所示,选择Download Trail蓝色按钮可以进行下载: 二,新 ...
- 【Android】不依赖焦点和选中的TextView跑马灯
前言 继承TextView,并仿照源码修改而来,主要是取消了焦点和选中了判断,也不依赖文本的宽度. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民 ...
- iOS--归档和解档(Archiver)、(UnArchiver)
一.已有类型的归档和解档 首先来看一个简单的例子: //第一方式:归档对象 //对象-->文件 NSArray *array = [NSArray arrayWithObjects:@" ...
- 浅析Dagger2的使用
什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护. 我们知道Dagger是一个依 ...
- 关于Linux与windows传递文件乱码问题
linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码.所以导致中文编码会乱码.要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦. ...
- 1.3 基础知识——GP2.1 方针(Policy)
摘要: 方针这个GP每个PA都有,其实CMMI实践有没有实在价值,就在于方针!如果我们做出来的CMMI实践仅仅就是写文档.多步骤.没事找事,那其实就是违背了公司的商业目标,公司的商业目标简单说就是:用 ...
- Android海康监控视频调用demo
一. 开发环境 1. 操作系统:windows7(X64) 2. 开发工具:eclipse adt Build: v22.2.1-833290 JDK7 android SDK 3. 客户端设备版本: ...