千家信息网

MySQL与MongoDB的操作命令对比以及区别是怎样的

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章为大家展示了MySQL与MongoDB的操作命令对比以及区别是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL与MongoDB都是开源的
千家信息网最后更新 2026年11月02日MySQL与MongoDB的操作命令对比以及区别是怎样的

本篇文章为大家展示了MySQL与MongoDB的操作命令对比以及区别是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL(全称Structured Query Language)语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。

  以我们公司项目为例,在早期的项目中,都在使用关系型数据库,用过SQLServer,Oracle,DB2,后来全部转向Mysql,原因很简单:Mysql在性能不错的情况下,有着开源优势。Mysql的事务性与高性能是我们主要考虑的。后来,由于项目要用到用户系统,即会有大量的用户数据进行交互--海量存储,Mysql的读写速度会有一点瓶颈,于是我们就想到了最近发展很强势的Nosql。在Nosql早期的memcache的发展下,又出现了很多非关系型数据库,比如redis,mongodb。经过一段时间的测试,redis与mongodb的读写速度确实比Mysql有着很明显的优势。mongodb的写入速度大约2.5W/次每秒。 mongodb以BSON结构(二进制)进行存储,对海量数据存储有着很明显的优势。

  下面是Mongodb与Mysql的操作命令的对比。

  服务器守护进程mysqld/mongod;

  客户端工具mysql/mongo;

  逻辑备份工具mysqldump/mongodump;

  逻辑还原工具mysql/mongorestore;

  数据导出工具mysqldump/mongoexport;

  数据导入工具source/mongoimport;

  新建用户并授权grant all on *.* to username@'localhost' identified by 'passwd';db.addUser("user","psw") db.auth("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 where id=2;db.tname.update({id:2},{$set:{id:3}},false,true);

  查询所有记录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 and name='steve';db.tname.find({id:2,name:'steve'});

  条件查询select * from tname where id=2 or name='steve';db.tname.find($or:[{id:2},{name:'steve'}]);

  条件查询select * from tname limit 1;db.tname.findOne();

  模糊查询select * from tname where name like "%ste%";db.tname.find({name:/ste/});

  模糊查询select * from tname where name like "ste%";db.tname.find({name:/^ste/});

  获取表记录数select count(id) from tname;db.tname.count();

  获取有条件的记录数select count(id) from tnamewhere id=2;db.tname.find({id:2}).count();

  查询时去掉重复值select distinct(last_name) from tname;db.tname.distinct('last_name');

  正排序查询select *from tname order by id;db.tname.find().sort({id:1});

  逆排序查询select *from tname order by id desc;db.tname.find().sort({id:-1});

  取存储路径explain select * from tname  where id=3;db.tname.find({id=3}).explain();

  特别要注意的是:mongodb插入多个字段语法。

  > db.user.insert({id:1,name:'steve',sex:'male'}) 正确。

  > db.user.insert({id:2},{name:'bear'},{sex:'female'}) 错误。

上述内容就是MySQL与MongoDB的操作命令对比以及区别是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

数据 查询 数据库 条件 工具 存储 命令 优势 用户 速度 项目 明显 内容 技能 海量 知识 语句 逻辑 发展 排序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技工作委员会毛军 互联网和科技技术 上海互联网科技有限公司 青岛互联网科技公司 互联网科技小贷 礼当家互联网科技 狮子座互联网科技有限公司 壕鑫互联网络科技 互联网科技网站 互联网科技实习生岗位职责 昭通云南众福互联网科技有限公司 互联网为啥属于高科技 千方科技属于互联网企业吗 宜昌元轩互联网科技有限公司 996高科技互联网公司 上海科技产业互联网平台 富国互联网科技002692 上海互联网科技公司ppt 工业互联网科技创业 盐城市攀科互联网科技有限公司 互联网科技名片 互联网科技集团 深圳卡尔迅互联网科技有限公司怎么样 深圳市运趣互联网科技有限公司 福建科技产业互联网发展 互联网时代的科技公司 互联网金融科技公司的优势 2021世界互联网领先科技成果发布 吉林省码上互联网科技电话 江苏互联网智能科技产品出厂价
0