启动服务:
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});
由于在修改与删除中已经执行了简单的查询方法了,在此我就不再次写出了。