mongodb和mysql的语法_Mongodb和mysql的区别
1. Mongodb简介及优缺点分析
Mongodb是非关系型数据库(nosql ),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特点:可以通过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。
优点:
快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。高扩展性,存储的数据格式是json格式!
缺点:
① mongodb不支持事务操作。
② mongodb占用空间过大。
③ 开发文档不是很完全,完善。
2. MySQL优缺点分析
优点:
在不同的引擎上有不同 的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql的份额页在持续增长。
缺点:
在海量数据处理的时候效率会显著变慢。
3. Mongodb和MySQL数据库的对比
传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
4. MongoDB常用语句
# 连接Mongo数据库,并设置数据存储地址
mongod.exe --dbpath "d:\software\MongoDB\Server\3.0\data"
#-----------------------#1# 数据库
# 查看所有的数据库
show dbs
# 删除当前使用的数据库
db.dropDatabase()
# 使用这个数据库(只有插入数据后完成创建数据库)
use dbt
# 查看当前使用的数据库
db
db.getName()
# 查看当前数据库状态
db.stats()
# 修复当前数据库
db.repairDatabase()
# 从一个数据库复制到另一个数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");
#-----------------------#2# 集合
# 查看当前数据库下所有的集合
show collections
show tables
# 创建名称为coll集合
db.createCollection('coll')
db.createCollection("coll2", {capped:true, autoIndexId:true, size:6142800, max:10000}) # 可选参数
# 查看当前集合状态
db.coll.stats()
# 删除名称为coll集合
db.coll.drop()
#-----------------------#3# 集合数据
# 插入空数据并且直接创建名称为coll集合
db.coll.insert({})
# 插入一个或多个数据
db.coll.insert({name:'tom', age:22})
db.coll.insert([{name:'adam', age:10},{name:'john', age:23}])
# 添加数据(save方法可以修改相同id的数据)
db.coll.save({name:'allen'})
# 删除一个或所有的数据
db.coll.remove({name:'tom'})
db.coll.remove({})
# 删除符合条件的数据中的第一条
db.coll.remove({name:'tom'}, 1)
# 更改数据
db.coll.update({name:'tom', age:22}, {$set:{name:'tom', age:222}})
# 查看数据
db.coll.find()
# 查看一条数据
db.coll.findOne()
db.coll.find({}, {name:1, '_id':0}) # 1表示显示,0表示不显示(find默认显示_id)
# 格式化显示数据,使数据更加清晰明了
db.coll.find().pretty()
# 使用and,or查看数据
db.coll.find({name:'tom', age:22}) # 等同and使用
db.coll.find({$or:[{name:'tom'}, {age:21}]}) # or使用
# 操作符大于,小于,等于,不等于,大于不等于,小于不等于
db.coll.find({age: {$gt: 22}}) # 大于
db.coll.find({age: {$lt: 22}}) # 大于
db.coll.find({age: 22}) # 等于
db.coll.find({age: {$ne: 22}}) # 不等于
db.coll.find({age: {$gte: 22}}) # 大于等于
db.coll.find({age: {$lte: 22}}) # 小于等于
# 显示从skip之后limit个
db.coll.find().limit(2).skip(1)
#-----------------------# # 用户
# 3.x之后版本添加用户
use admin
db.createUser({user:'nu', pwd:'nu', roles:[{role:'readWrite',db:'admin'}]})
# 用户认证
db.auth("nu", "nu");
# 显示当前所有用户
show users;
db.system.users.find()
3.x版本删除用户
db.removeUser('nu') # 不推荐使用,已经废弃
db.dropUser("nu");
# 当前db版本
db.version();
# 当前db的链接机器地址和端口
db.getMongo();
# 备份到备份目录
mongodump
# 从备份目录恢复备份语句。
mongorestore
mongodb和mysql的语法_Mongodb和mysql的区别相关推荐
- mongo mysql 聚合性能_Mongodb和Mysql的性能分析
服务器配置: CPU: 1核 内存: 2048 MB (I/O优化) 网络带宽:1M centos 7.0 MongoDB 3.2 Mysql 5.6 服务器表数据量1184545条 M ...
- MYSQL常用语法命令,MySQL中delete,drop和alter分别是用来删除什么的?有什么区别?删除了以后可以恢复吗?
1.Alter.Delete.Drop相关语法 a.Alter 删除,添加或重新定义列 删除列:alter table tablename drop columnname 增加列:alter tabl ...
- mongodb和mysql的对比_Mongodb与mysql语法比较
Mongodb与mysql语法比较 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据 ...
- mongodb和mysql的对比_MongoDB和MySQL的区别
http://www.cnblogs.com/caihuafeng/p/5494336.html MongoDB(文档型数据库):提供可扩展的高性能数据存储 一. 1.基于分布式文件存储 2.高负载情 ...
- jdbc连接mysql的语法_JDBC连接MySQL
JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...
- mysql 插入慢_Mongodb 与 MySQL对比
NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的,它们分别代表了不同的数据库设计思路. M ...
- MySQL BETWEEN 语法
阅读目录 MySQL BETWEEN 语法 BETWEEN 实例 MySQL BETWEEN 边界 MySQL BETWEEN 时间日期 MySQL BETWEEN 数据比较 MySQL betwee ...
- 达梦数据库与MySQL部分语法区别
达梦与MySQL部分语法的区别 前言: 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是8.0版本,简称DM8. DM8采用全新的 ...
- MySQL基础语法与JDBC
文章目录 前言 (一)什么是SQL (二)什么是MySQL (三)MySQL的体系结构 ①连接层 ②服务层 ③可插拔存储引擎层 ④存储层 (四)MySQL的启动.停止.连接 一.基础知识 (一)基本术 ...
最新文章
- 防止标题或者特定内容长度溢出wordcut
- MATLAB读取一张RGB图片转成YUV格式
- centos 6.5 安装mysql 5.6.35–libc.so.6(GLIBC_2.14)(64bit),libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
- 光纤vs.铜缆:为什么光纤是智能、可持续建筑越来越多的选择
- 史上最丧心病狂的商品定价套路:如何从数学角度,榨干你身上的每一分钱
- Java集合(实现类线程安全性)
- 向量归一化的matlab程序,向量X的归一化及其Matlab简单示例
- Zookeeper(三)——选举机制
- BTC 5分钟内跌幅1.05%,现价28531.78usdt
- Python学习记录之----网络通信(二)
- abp框架 mysql_ABP框架迁移到Mysql
- 哈工大车万翔教授:ACL 2010-2020研究趋势总结
- 去除UC浏览器强制嵌入的垃圾广告代码
- 学计算机的看图写话,小老鼠上网看图写话
- MySQL8 免安装版安装
- 面向对象_猫狗案例加入跳高功能代码实现
- Web安全工具大集合
- 目标检测与位姿估计(七):PyTorch-YOLOv4的使用
- BestCoder Round #87(1003-【思维】【LISLCS】)
- linux nss升级,Linux系统升级
热门文章
- 【重要通知】数据技术嘉年华改为线上举办!拥抱元宇宙,我们这么玩儿!
- GaussDB分布式Stream执行计划详解
- Oracle 12c 能否在2小时内完成一张14亿条记录的表结构字段类型变更
- DBA/运维人员近期直播活动日历
- MySQL-8.0 | 数据字典最强解读
- 关于 Oracle 存储双活配置和实战
- 人车识别实验丨华为ModelArts VS 百度Easy DL硬核体验
- 华为云文字识别服务产品优势、应用场景、典型案例和未来之路(OCR系列三)
- javascript基础修炼(13)——记一道有趣的JS脑洞练习题
- 华为云开发者青年班——你的优秀值得被全球开发者看到!