本篇文章為大家展示了MySQL與MongoDB的操作命令對比以及區(qū)別是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯建站長期為1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為三臺企業(yè)提供專業(yè)的網站設計制作、網站設計,三臺網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
MySQL與MongoDB都是開源的常用數據庫,但是MySQL是傳統的關系型數據庫,MongoDB則是非關系型數據庫,也叫文檔型數據庫,是一種NOSQL的數據庫。它們各有各的優(yōu)點,關鍵是看用在什么地方。所以我們所熟知的那些SQL(全稱Structured Query Language)語句就不適用于MongoDB了,因為SQL語句是關系型數據庫的標準語言。
以我們公司項目為例,在早期的項目中,都在使用關系型數據庫,用過SQLServer,Oracle,DB2,后來全部轉向Mysql,原因很簡單:Mysql在性能不錯的情況下,有著開源優(yōu)勢。Mysql的事務性與高性能是我們主要考慮的。后來,由于項目要用到用戶系統,即會有大量的用戶數據進行交互--海量存儲,Mysql的讀寫速度會有一點瓶頸,于是我們就想到了最近發(fā)展很強勢的Nosql。在Nosql早期的memcache的發(fā)展下,又出現了很多非關系型數據庫,比如redis,mongodb。經過一段時間的測試,redis與mongodb的讀寫速度確實比Mysql有著很明顯的優(yōu)勢。mongodb的寫入速度大約2.5W/次每秒。 mongodb以BSON結構(二進制)進行存儲,對海量數據存儲有著很明顯的優(yōu)勢。
下面是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;
查詢主從狀態(tài)show slave status;rs.status;
創(chuàng)建庫create database name;無需單獨創(chuàng)建,直接use進去;
創(chuàng)建表create table tname(id int);無需單獨創(chuàng)建,直接插入數據;
刪除表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的操作命令對比以及區(qū)別是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
本文題目:MySQL與MongoDB的操作命令對比以及區(qū)別是怎樣的
當前路徑:http://www.chinadenli.net/article24/jdhpje.html
成都網站建設公司_創(chuàng)新互聯,為您提供外貿建站、商城網站、營銷型網站建設、企業(yè)建站、Google、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯