MongoDB的简单操作与比较
与关系数据库对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,来看看他们之间的相似之处吧
对比 | MySQL | MongoDB |
---|---|---|
数据库 | Database(数据库) | Database(数据库) |
表 | Table(表) | Collection(集合) |
行 | Row(行) | Document(文档) |
列 | Column(列) | Field(字段) |
客户端工具 | mysql | mongo |
逻辑备份工具 | mysqldump | mongodump |
逻辑还原工具 | mysql | mongorestore |
数据导出工具 | mysqldump | mongoexport |
数据导入工具 | source | mongoimport |
服务器守护进程 | mysqld | mongod |
简单操作
下面进行一些数据库的简单操作,
选择和创建数据库的语法格式:
use user_table
查看有权限查看的所有的数据库命令
show dbs
删库跑路
db.dropDatabase()
当使用 use user_table
的时候. user_table
其实存放在内存之中, 当 user_table
中存在一个 collection 之后, mongo 才会将这个数据库持久化到硬盘之中。
数据库命名
数据库名可以是满足以下条件的任意UTF-8字符串。
- 不能是空字符串(“”)
- 不得含有’ '(空格)、.、$、/、\和\0 (空字符)。
- 应全部小写。
- 最多64字节。
有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
- admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
- local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
- config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。