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});


由于在修改与删除中已经执行了简单的查询方法了,在此我就不再次写出了。


0 0
原创粉丝点击