1.MySQL与MongoDB的操作对比,以及区别
转自:https://www.cnblogs.com/chris-oil/p/4982490.html
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() |
1.MySQL与MongoDB的操作对比,以及区别的更多相关文章
- MySQL 与 MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- 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的对比,看SQL与NoSQL的较量
张家江,网易乐得高级工程师. 贵金属(注:贵金属为笔者部门业务)的行情系统提供的接口通过Redis获取数据,目前使用Redis最多只存储了大概8000条左右的分钟k的行情数据,考虑到将来可能会有更大数 ...
- MySQL和Mongodb的区别与应用场景对比
MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...
- mongoDB 数据库操作
mongoDB 数据库操作 数据库命名规则 . 使用 utf8 字符,默认所有字符为 utf8 . 不能含有空格 . / \ "\0" 字符 (c++ 中会将 "\0&q ...
- MySQL、MongoDB、Redis 数据库之间的区别
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...
随机推荐
- HDU 3723
把向上看成+1,向下看成-1.可以知道符合卡特兰数的一般解释了.记作Can(i) 中间平过的即是0.亦即是C(n,2*i),i表示向上的数. 于是总的就是sum(C(n,2*i)*Can(i)),i从 ...
- hello world to php( mac 配置 xmapp virtual host)
一.安装xmapp.安装完以后查看,服务是否都能启动(数据库和server) 二.配置自己的virtualhost 1.系统host文件加入server的域名(在浏览器中输入域名后会先通过 ...
- 调用支付宝SDK问题
近期做了一个项目里面要有支付.银联.支付宝,微信支付 我先一个一个写吧 先说支付宝SDK 支付宝SDK放进project里面之后肯定会报错.这时候你就要一个一个改掉 1. 2. 3. 哎 我懒得写了. ...
- C/C++易错难点笔记01
疑惑点 C++是一门奇妙的语言.非常多时候你对底层不熟悉,非常难知道某些情况下的结果,以下是我不断积累的疑惑点,这里将其记录下来. 类的转换问题 代码: class A{ public: virtua ...
- OpenMp之reduction求和
// OpenMP1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include"omp.h" #include& ...
- nmq 提交到 npm
安装npm install nmq 源码:https://github.com/ronwe/nmq 此版本提供 pub/sub , 优化 pull
- ICMP 隧道——将流量封装进 IMCP 的 ping 数据包中,旨在利用 ping 穿透防火墙的检测
利用 ICMP 隧道穿透防火墙 转自:http://xiaix.me/li-yong-icmp-sui-dao-chuan-tou-fang-huo-qiang/ 以前穿透防火墙总是使用 SSH 隧道 ...
- 问题集锦 ~ jQuery
#addClass失败 $target.addClass('show'); show 这个单词可能和内部某处起冲突了吧,有时成功有时失败,只能换个class名了,难受……
- php面向对象的基础:OOP的常量
常量(constant) 用来表示不会改变的值.对于从该类实例化的任何对象来说,常量值在这些对象的整个生命周期中都保持不变. class Computer{ const PI=3.1415926; } ...
- rman备份简介
登陆rman: [oracle@oracle ~]$ rman target / connected to target database: FSDB (DBID=1179347208) 执行全备: ...