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 ...
随机推荐
- html5 编辑
在html中想获得矢量图形可以用svg标签.该标签画出的图形全部用代码实现. 可以用在线html编辑工具来进行所见即所得编辑,然后到处源码. 比较好用的工具有http://editor.method. ...
- 【转】C++ 进程间的通讯(一):简单的有名管道实现
原文: C++ 进程间的通讯(一):简单的有名管道实现 -------------------------------------------------- 进程间的通讯(一):简单的有名管道实现 ...
- 配置-XX:+HeapDumpOnOutOfMemoryError 对于OOM错误自动输出dump文件
配置-XX:+HeapDumpOnOutOfMemoryError 对于OOM错误自动输出dump文件 学习了:http://blog.csdn.net/stevendbaguo/article/de ...
- ZOJ 3819 Average Score 水
水 Average Score Time Limit: 2 Seconds Memory Limit: 65536 KB Bob is a freshman in Marjar Univer ...
- mysql改动默认的环境的字符集为utf-8
mysql改动环境的默认字符集为utf-8(当然你也能够设置成别的,国际点还是utf-8好) 假设不把mysql字符集统一下.后面还是有点麻烦的 首先得在服务里关掉mysql的服务(一定要先关掉mys ...
- eclipse中j2ee(struts2)部署及相关问题释疑
1.eclipse中进行web项目开发时.部署的时候和利用myeclipse部署时有非常大不同,由于在myeclipse的工具栏中有一个部署button.而且在myeclipse的preference ...
- 10.11无法打开Xcode6.4的解决方法
前言 mac升级到10.11版本号并安装Xcode7.0Beta之后,Dock中的Xcode6.3图标上出现一个禁止符号,打开提示到App store更新最新版本号,更新到6.4之后问题依然,还是提示 ...
- web 页面传值乱码问题
今天碰到一个问题,将A页面中文值传到B页面,session保存,然后在C页面显示,页面显示乱码 百度了一下什么原因,以为是session保存中乱码,于是将B页面的通过Server.UrlDecode( ...
- Android小技巧总结1
0.Android彻底退出引用程序的方法 1) Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()); / ...
- 通过uri呼起本地app
1.在Android本地app清单文件里配置 <activity android:name="com.mdj.ui.WelcomeActivity" android:scre ...