SQL与NoSQL的CRUD对比

SQL与NoSQL的CRUD对比

flyfish 2015-7-21

Create, Read, Update and Delete (CRUD)

SQL方式

SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

DELETE FROM 表名称 WHERE 列名称 = 值

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

NoSQL方式(MongoDB)

db.collection.find(query, projection)
db.products.find( { qty: { $gt: 25 } } )

db.collection.insert()
db.products.insert( { item: "card", qty: 15 } )

db.collection.remove()
db.products.remove( { qty: { $gt: 20 } } )

db.collection.update(query, update, options)

db.people.update(
   { name: "Andy" },
   {
      name: "Andy",
      rating: 1,
      score: 1
   },
   { upsert: true }
)

对比 

SELECT * FROM users WHERE age=18
db.users.find({age:18})

INSERT INTO USERS VALUES('sss',18)
db.users.insert({name:'sss',age:18})

UPDATE users SET age=18 WHERE name='sss'
db.users.update({name:'sss'}, {$set:{age:18}}, false, true)

DELETE FROM users WHERE age=18
db.users.remove({age:18});

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 19:53:47

SQL与NoSQL的CRUD对比的相关文章

SQL VS NoSQL

(关系型与非关系型)数据库的区别: 关系型和非关系型数据库的主要差异是数据存储的方式 1.1 数据表 VS 数据集 关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储,也很容易提取数据.与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起.非关系型数据通常存储在数据集中,就像文档.键值对或者图结构 1.2 预定义结构 VS 动态结构 关系型数据通常对应于结构化数据,因为数据表都有预定义好的结构(列的定义),结构描述了数据的形式和内容.这一点对数据

SQL与NoSQL(关系型与非关系型)数据库的区别

永远正确的经典答案依然是:具体问题具体分析. 数据表VS.数据集 关系型和非关系型数据库的主要差异是数据存储的方式.关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储,也很容易提取数据.与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起.非关系型数据通常存储在数据集中,就像文档.键值对或者图结构.你的数据及其特性是选择数据存储和提取方式的首要影响因素. 预定义结构VS.动态结构 关系型数据通常对应于结构化数据,因为数据表都有预定义好的结构(列的

SQL vs NoSQL 没有硝烟的战争!

声明:本文译自SQL vs NoSQL The Differences,如需转载请注明出处. SQL(结构化查询语言)数据库作为一个主要的数据存储机制已经超过40个年头了.随着web应用和像MySQL.PostgreSQL和SQLite这些开源项的兴起,SQL使用量大大增加. NoSQL数据库在20世纪60年代就已经出现了,但最近因为MongoDB.CouchDB,Redis和Apache Cassandra等才受到广泛的关注. 你会发现很多教程都会解释如何根据你的兴趣选择去使用SQL还是NoS

大数据入门级学习:SQL与NOSQL数据库

这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者.有自学hadoop的,有报名培训班学习的.所有接触过hadoop的人都知道,单独搭建hadoop里每个组建都需要运行环境.修改配置文件测试等过程.对于我们这些入门级新手来说简直每个都是坑.国内的发行版hadoop那么多,似乎都没有来填这样的坑?不知道是没法解决,还是没有想到?安装运行环境这样的坑,那些做国产大数据底层开发的,如果不能解决这个问题的话,我觉得不是一个合格的大数据底层开发机构.不过比较幸运的是,三月的时候申请拿到了一个DK

SQL or NoSQL? 从存储的架构演进看数据库选型

一.前言 你是否在为系统的数据库来一波大流量就几乎打满CPU,日常CPU居高不下烦恼?你是否在各种NoSQL间纠结不定,到底该选用哪种最好?今天的你就是昨天的我,这也是写这篇文章的初衷. 这篇文章是我好几个月来一直想写的一篇文章,也是一直想学习的一个内容,作为互联网从业人员,我们要知道关系型数据库(MySQL.Oracle)无法满足我们对存储的所有要求,因此对底层存储的选型,对每种存储引擎的理解非常重要.同时也由于过去一段时间的工作经历,对这块有了一些更多的思考,想通过自己的总结把这块写出来分享

MySQL的redo log结构和SQL Server的log结构对比

MySQL的redo log结构和SQL Server的log结构对比 innodb 存储引擎 mysql技术内幕 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f sqlserver http://www.cnblogs.com/CareySon/p/3308926.html 事务对数据库中每次修改都会分解成多个多个原子层级的条目被记录到持久存储中,这些条目就是所谓的日志记录(Log Record),我们可以通过fn_dblog来查看这些条目.如图2所示. 图2.Fn_dblog 每

HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

HBase.Redis.MongoDB.Couchbase.LevelDB主流 NoSQL 数据库的对比 最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.Redis.MongoDB.Couchbase.LevelDB 五款较主流的数据库产品中,本文将主要对它们进行分析对比. 鉴于缺乏项目中的实战经验沉淀,本文内容和观点主要还是从各平台资料搜罗汇总,

SQL VS NoSQL 如何选择数据库

在前一篇文章中我们主要的讨论了SQL与NoSQL数据库之间的主要的差别.接下来,我们将会利用上一篇中的知识来确定在特定的场景中如何确定比较好的选择. 首先我们先来总结一下: SQL数据库: ?使用表存储相关的数据 在使用表之前需要先定义标的模式 鼓励使用规范化来减少数据的冗余 支持使用JION操作,使用一条SQL语句从多张表中取出相关的数据 需要满足数据完整性约束规则 使用事务来保证数据的一致性 能够大规模的使用 使用强大的SQL语言进行查询操作 提供大量的支持,专业技能和辅助工具 NoSQL数

数据库系统原理:SQL与NoSQL的比较

SQL和NoSQL的区别 SQL NoSQL 采用关系型的表来存储数据,具有严格的数据模式约束,因此存储数据很难出错 采用类JSON格式的文档来存储键值对信息,更加灵活,但也会导致数据不一致问题的发生 使用表之前需要先定义表的模式 存储数据不需要特定的模式 使用规范化来减少数据冗余 使用非规范化的标准存储信息,以保证一个文档中包含一个条目的所有信息 支持JOIN操作,使用一条SQL语句从多张表中取出相关的数据 不支持JOIN操作 满足数据完整性约束 不满足完整性约束,允许数据不用通过验证就可以存