Mysql与MongoDB的语法比较(CRUD)
来源:互联网 发布:过山车大亨世界 优化 编辑:程序博客网 时间:2024/05/12 16:09
启动服务:
MySQL:
net start MySQL
MongoDB:
net start MongoDB
关闭服务
MySQL:
net stop MySQL
MongoDB:
net stop MongoDB
连接数据库:
MySQL:
mysql -u用户名 -p密码,例如:mysql -uroot -p11
MongoDB:
mongo --port 端口号,例如:mongo --port 27017
查询数据库:
MySQL:
show databases;
MongoDB:
show dbs
进入相应的数据库
MySQL:
use DATABASE_NAME
MongoDB:
use DATABASE_NAME
相同点:
假设MySQL和MongoDB中都有一个相同的数据库,名称为“jeecmsv6_f”,则进入该数据库中的语句是相同的,都是use jeecmsv6_f。
不同点:
假设jeecmsv6_f数据库在MySQL和MongoDB中均不存在,则在MySQL中就会直接报错ERROR 1049 (42000): Unknown database 'jeecmsv6_f',而在MongoDB中则是不存在则创建。
删除数据库:
MySQL:
drop database jeecmsv6_f;
MongoDB:
在相应的数据库中执行db.dropDatabase()
查询
在MySQL中是查询表
show tables;
在MongoDB中没有表的概念,这里是相应的集合,类似于MySQL中的表
show tables
创建demo表/集合
MySQL:
先创建
create table demo(id int(11) auto_increment primary key,name varchar(24)
再插入
insert into demo(name) values('tom');
MongoDB:
db.demo.insert({'id':1,'name':'tom'})
在MongoDB中,集合demo存在则插入,不存在则自动创建,然后再插入。
需要注意的是MySQL是关系型数据库,因而表自从被创建后,数据格式都是一样的,否则无法插入,而MongoDB则是非关系型数据库,因而他没有行和列的概念,它就是一些相应的数据集合,字段又长又短,是json格式的,由于其真实存储的格式是二进制格式,它是方便于机器读取的,因而它又被称为Binary JSON,缩写为BSON。
查询添加的数据:
MySQL:
select * from demo;
查询结果如下:
+----+------+| id | name |+----+------+| 1 | tom |+----+------+由于MySQL是关系型数据库,因为数据库中的每一张表的格式都是固定的,因而我们可以查看每张表的数据结构。
desc demo;
查看的结果:
+-------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(24) | YES | | NULL | |+-------+-------------+------+-----+---------+----------------+
MongoDB:
db.demo.find()
查询结果如下:
{ "_id" : ObjectId("5870edcf23c3b16367e01840"), "id" : 1, "name" : "tom" }
其中MongoDB中会自动的插入_id信息,在一个集合里面,每个集合都有唯一的"_id"值,来确保集合里面每个文档都能被唯一标识。
修改数据
MySQL:
update 数据表 set 修改字段 where 查询字段;
例如:
update demo set name='jack' where id=1;
MongoDB:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
例如:
db.demo.update({'id':1},{$set:{'name':'jack'}})
删除数据
MySQL:
delete from demo where id=1;
MongoDB:
db.demo.remove({'id':1});
由于在修改与删除中已经执行了简单的查询方法了,在此我就不再次写出了。
- Mysql与MongoDB的语法比较(CRUD)
- MongoDB与mySQL比较
- MySQL与MongoDB语法对比(简单)
- MongoDB语法与SQL语法比较
- MongoDB语法与SQL语法比较
- mysql与mongoDB语法对比
- mongodb 与mysql 语法对比
- MongoDB与JAVA CRUD
- MongoDB与JAVA CRUD
- MongoDB与JAVA CRUD
- MySQL与Oracle 差异比较之基本语法的比较
- MySQL与MongoDB一些比较
- mongodb的crud
- mongodb的CRUD操作
- MongoDB语法与现有关系型数据库SQL语法比较
- MongoDB语法与现有关系型数据库SQL语法比较
- MongoDB基本(CRUD)
- MongoDB基本(CRUD)
- LeetCode: Matchsticks to Square
- 文章标题
- equlas默认比较的是引用
- 操作系统 银行家算法模拟(三)
- ASP.NET应用程序与页面生命周期
- Mysql与MongoDB的语法比较(CRUD)
- 在家修净水器,初步弄懂了过滤的过程
- 【SDOI2013】bzoj3130 费用流
- Java学习篇之File类的判断功能在递归中的使用
- 生活
- 剑指Offer之面试题25:二叉树中和为某一值的路径
- C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈
- lnmp安装2个版本PHP教程
- makefile学习总结