[转]MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。
|
作用 |
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的操作对比的更多相关文章
- MySQL 与 MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- MySQL与MongoDB的操作对比,以及区别
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- 1.MySQL与MongoDB的操作对比,以及区别
转自:https://www.cnblogs.com/chris-oil/p/4982490.html MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoD ...
- MySQL与MongoDB的区别
一.MongoDB简介 什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨 ...
- 从MySQL和MongoDB的对比,看SQL与NoSQL的较量
张家江,网易乐得高级工程师. 贵金属(注:贵金属为笔者部门业务)的行情系统提供的接口通过Redis获取数据,目前使用Redis最多只存储了大概8000条左右的分钟k的行情数据,考虑到将来可能会有更大数 ...
- MySQL和Mongodb的区别与应用场景对比
MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...
- Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比
对于只有SQL背景的人来说,想要深入研究NoSQL似乎是一个艰巨的任务,MySQL与MongoDB都是开源常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数 ...
- mongoDB 数据库操作
mongoDB 数据库操作 数据库命名规则 . 使用 utf8 字符,默认所有字符为 utf8 . 不能含有空格 . / \ "\0" 字符 (c++ 中会将 "\0&q ...
随机推荐
- 从range和xrange的性能对比到yield关键字(上)
使用xrange 当我们获取某个数量的循环时,我们惯用的手法是for循环和range函数,例如: for i in range(10): print i 这里range(10)生成了一个长度为10 ...
- Leetcode 26 Remove Duplicates from Sorted Array STL
题目本身是去重 由于我很懒,所以用了STL库里的unique函数来去重,小伙伴们可以考虑自己实现去重的函数,其实并不复杂. class Solution { public: int removeDup ...
- Python模拟用户登录
# coding=utf8 import hashlib db = { 'michael':'e10adc3949ba59abbe56e057f20f883e', 'bob':'878ef96e861 ...
- Android CountDownTimer倒计时器的使用
http://blog.csdn.net/freesonhp/article/details/25904047 在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了 ...
- DotNetMQ的一个小demo
DotNetMQ是一个新的.独立的.开源的,完全基于C#和.NET Framework3.5的消息队列系统 下载源代码 - 1.28 MB 下载二进制文件 - 933 KB 下载例子 - 534 KB ...
- Chrome谷歌浏览器首页被改为Hao123导航怎么办|附各类解决方法【转】
软件小子:昨天偶然间发现自己的chrome浏览器的首页被篡改成hao123导航了,要是自己设置的还无所谓,但是后面还有尾巴.顿时就火了,又是哪款软件这么流氓,太无良了,我非常确定我肯定是没有勾选什么设 ...
- Objective-C中将结构体与联合体封装为NSValue对象
在Clang 3.7之前,Objective-C已经可以使用类似@100.@YES.@10.5f等字面量表示一个NSNumber对象:用类似@"xxx"的字面量表示一个NSStri ...
- js事件之event.preventDefault()与event.stopPropagation()用法区别
event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...
- FEC难:
飞雨(314698641) 12:03:16 有人研究fec吗把信源编码好信道编码区别开来 ? 杭州桓泽(84894922) 12:52:54fec实际是一种概括性技术可以从信源的方面做fec就 ...
- 使用Fragment应用放置后台很久,被系统回收,出现crash
使用Fragment应用放置后台很久,被系统回收,出现crash:原因:系统做了源码FragmentActivity调用onSaveInstanceState保存Fragment对象,这时候系统恢复保 ...