MySQL简介
MySQL是目前世界上最流行的、开源的、免费的关系型数据库,由甲骨文公司所有,值得一提的是该公司另一个商业化(也就是说要收钱,而且并不开源)的数据库Oracle目前虽占据了数据库市场的半壁江山,但是随着MySQL的健康发展以及其免费开源的特点,包括阿里巴巴在内的不少公司正在逐渐摆脱对Oracle的依赖,将其数据库迁移构建于MySQL之上。
MongoDB简介
MongoDB同样是一款流行的开源数据库,但不同于MySQL,mongoDB是非关系型数据库,其灵活、自由、简单的特点受到了大量公司特别是许多创业公司的欢迎,而对于任何一位后台开发程序员来说,同时掌握mysql和mongoDB正逐渐成为一个必须的要求。
mysql、mongodb对比
- mysql的发展历史更加悠久,mongodb则更加年轻,所以在成熟度上mysql更有优势。
- mysql作为关系型数据库,其要求结构化数据,即严格定义的数据格式(5.7版已经支持json格式),而mongodb则是非关系型,使用类json格式的文档来存储键值对信息,数据非结构化、格式更自由、扩展性更好。
- mysql支持事务操作,而mongodb想要操作事务只能通过间接的方式实现。
- mysql和mongodb均可以实现分布式集群部署。
- 读写效率和优化等我觉得与个人理解有关,不好比较。
增删改查简单操作
mysql和mongodb的概念对比如上图所示。
查询:
//mysql SELECT * FROM student WHERE sno = 123 //mongodb db.student.find({ 'sno' : 123 })
插入:
//mysql INSERT INTO student ('sno', 'name') values (456, 'kate') //mongodb db.student.insert({ 'sno' : 456, 'name': 'kate' })
修改:
//mysql UPDATE student SET 'name' = 'curry' WHERE 'sno' = 123 //mongodb db.student.update({ 'sno': 123 }, {$set : {'name' : 'curry' } })
删除:
//mysql DELETE FROM student WHERE name = 'kate' //mongodb db.student.remove({ 'name' : 'kate' })
总结:mysql 和 mongodb 分别作为关系型和非关系型数据库的代表,可谓是各具特色,至于选择哪款数据库则需要看你具体的业务场景,同时两者并不矛盾,希望阅读完本文后,您对此两款数据库有了一个初步的了解。