mysql数据库和mongodb数据库的有关操作以及三个数据库的分别

 

在docs命令中实践多少操作

 

MySQL数据库

先启动MySQL服务器  net start mysql

进去MySQL服务器MySQL -uroot -p(那里写你的数据库密码)
(-P是从哪个端口进)

本人先是次操作是就是因为电脑上 有 MySQL  MySQL57 MySQLla 五个劳务
引起端口争论

以致 我 找不到相应的数码

数据库操作

create database   创制数据库

show databases   展现MySQL服务上的数据库

use  数据库          使用数据库

数据表操作

create table  表名()  创立数量表   

例如  create table  user(id int,name char,age int)  

desc   表名            获取表的构造

show tables          突显当前数据库中的 表

drop table  表名    删除数据表

rename  table 原表名 to 新表名   修改数据表的称呼

表中数量操作

insert into userone (id,name) values (1,”bbb”);   添加数据

select * from 表名;                                              
查询数据表中的全套数量

select username from  userone;                         查询一列

select * from userone username=”avc”;              按标准查询
 查询一条数据

update userone set password=”qqq” where username=”111″;      
更新某一条数据数据

delete from userone where username=”111″;      删除某一条数据

 

mongodb数据库

要使用mongodb数据库 首先要

安装 mongodb 数据库

npm install mongodb

启动mongodb服务

net start mongodb 

进入 mongodb数据库

mongo

 

show dbs          显示mongodb中的所有数据库

use 数据库名    成立数量库 

db.dropDatabase(数据库名字)    删除数据库 

db                     查看当前的数据库

 

db.createCollection(“数据库名称”)   创制集合

show tables/collections       彰显集合

db.集合名称.drop()             删除集合

 

db.person.insert({“name”:”gg”,”age”:12});  插入数据】

db.person.save({“name”:”aa”,”age”:12})    插入数据  
 若是插入当前集合id值相同的  save  不会报错   而insert会报错

db.person.remove({内容})               删除数据

db.person.find()                              查询当前集合所有的数额

db.person.find({“age”:{$lt:12}})       带符号的 查询      大于 $gt  小于
$lt   不对等$ne  

低于或等于$lte     大于或等于   $gte  

 

db.person.update({条件},{内容},true,false)     更新数据

 

带修改器的翻新文档

   db.person.update({条件},{$set:{内容},true,true})

其多少个true 假设没有询问条件的数码  执行插入的操作

第多少个 true 批量修改  false反之

$inc 用于数字类型 可以为指定键对应的值进行加减操作 

 

mongodb与mysql比较的得失

与关系型数据库相比较,MongoDB的优点:

①弱一致性(最后一致),更能确保用户的访问速度:

举例来说来说,在价值观的关系型数据库中,一个COUNT类型的操作会锁定数据集,那样可以确保收获“当前”情形下的精确值。那在好几处境下,例
如通过ATM查看账户音信的时候很要紧,但对于Wordnik来说,数据是不断更新和进步的,那种“精确”的有限匡助差不多从不其余意义,反而会时有暴发很大的延
迟。他们须求的是一个“大概”的数字以及更快的处理速度。

②文档结构的积存格局,可以更便利的获取数据。

对于一个层级式的数据结构来说,如果要将这么的数据拔取扁平式的,表状的结构来保存数据,那无论在询问依然获取数据时都卓殊困难。

③内置GridFS,协理大容量的囤积。

  GridFS是一个卓绝的分布式文件系统,可以支撑海量的数目存储。  内置了GridFS了MongoDB,可以满意对天意据集的急忙范围查询。④内置Sharding。提供基于Range的Auto Sharding机制:一个collection可比照记录的限制,分成若干个段,切分到不相同的Shard上。

⑤第三方援救添加。(这是与任何的NoSQL比较,MongoDB也拥有的优势)

前几天网络上的居多NoSQL开源数据库完全属于社区型的,没有法定帮衬,给使用者带来了很大的高危机。而开源文档数据库MongoDB背后有生意铺面10gen为其提供供商业培训和支撑。
还要MongoDB社区卓殊活跃,很多花费框架都快捷提供了对MongDB的协助。不少有名大商家和网站也在生产条件中应用MongoDB,更加多的立异型公司转而采取MongoDB作为和Django,RoR来搭配的技艺方案。

⑥性能优越:

在选拔场面下,千万级其余文档对象,近10G的多寡,对有目录的ID的查询不会比mysql慢,而对非索引字段的询问,则是两全胜出。
mysql实际不可以胜任大数据量下肆意字段的询问,而mongodb的询问性能实在让自己惊呆。写入性能相同很中意,同样写入百万级其他数
据,mongodb比我之前试用过的couchdb要快得多,基本10分钟以下可以化解。补上一句,观望进程中mongodb都远算不上是CPU刺客。

与关系型数据库比较,MongoDB的弱点:

①mongodb不协理工作操作。  

故此工作要求严酷的系统(若是银行连串)肯定无法用它。(那点和亮点①是应和的)

②mongodb占用空间过大。

  关于其原因,在法定的FAQ中,提到有如下多少个地点:
1、空间的预分配:为避免形成过多的硬盘碎片,mongodb每趟空间欠缺时都会申请生成一大块的硬盘空间,而且申请的量从64M、128M、256M这样的指数递增,直到2G为单个文件的最大体积。随着数据量的充实,你可以在其数据目录里寓目这么些整块生成容量不断递增的文书。

2、字段名所占用的上空:为了有限帮忙每个记录内的布局音讯用于查询,mongodb须要把各类字段的key-value都以BSON的款型储存,若是value域相对于key域并不大,比如存放数值型的数码,则数据的overhead是最大的。一种压缩空间占据的办法是把字段名尽量取短一些,那样占用
空间就小了,但那就需求在易读性与上空占据上作为衡量了。我曾指出作者把字段名作个index,每个字段名用一个字节表示,那样就不用操心字段名取多少长度了。但小编的忧虑也说得过去,那种索引格局亟待每便查询获得结果后把索引值跟原值作一个交替,再发送到客户端,那一个替换也是挺花费时间的。现在的达成算是
拿空间来换取时间吗。

3、删除记录不自由空间:这很不难掌握,为防止记录删除后的多寡的科普活动,原记录空间不删除,只标记“已去除”即可,未来还足以重新利用。

4、可以定期运行db.repairDatabase()来整治记录,但以此进度会相比较缓慢

③MongoDB没有如MySQL那样成熟的掩护工具,那对于开发和IT运营都是个值得注意的地点。

 

 

图片 1

图片 2

 

网站地图xml地图