MongoDB中数据库的添加和删除操作(四)

版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/91355749

创建数据库

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
MongoDB 创建数据库的语法格式如下:

use  新是数据库的名字

1、如果数据库不存在,则创建数据库(只是虚拟的,如果不往里面加集合或者文档,那么此数据库就不会被创建),
2、如果数据库存在,就切换到指定数据库,然后进行操作

> show dbs    //查询所有的数据库
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
user    0.000GB
> use first   //切换到first数据库,虽然没有此数据库但是生成了一个虚拟的,
				//	如果你有实际的操作就会生成此数据库的实例
switched to db first
> db  //切换成功了
first
> show dbs   //这时候first数据库还不存在
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
user    0.000GB

往当前没创建的数据库,集合肯定也没有,插入

> db.user.insert({"name":"网易"})   //当前数据库的user集合插入此文档
WriteResult({ "nInserted" : 1 })  //插入成功1
> show dbs       				//再次查询所有的数据库
admin   0.000GB
config  0.000GB
first   0.000GB
local   0.000GB
test    0.000GB
user    0.000GB

这样新数据库新集合(包括里面的文档)就创建成功了
过程

  1. 没有此数据库,创建
  2. 没有此集合,创建
  3. 插入指定文档

注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建
为什么是注意而不是警告呢?
因为即使你用db.user.insert({}) 这个命令创建,它也会自动在user集合添加一个ObjectId

> db.user.find() //查看指定集合里的文档
{ "_id" : ObjectId("5cfd22d6357172945a6acd8b") }

所以创建数据库时里面必须要创建一个文档

下面的就和上面的不一样了
当用创建集合标准形式 createCollection() 时,就可以创建新的数据库,创建新的集合不用往集合里添加文档,可以是空集合

> use three
switched to db three
> db.createCollection("uu")   //在当前数据库下创建uu集合(因为当前数据库不存在,所以就直接创建数据库)
{ "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
first   0.000GB
local   0.000GB
second  0.000GB
test    0.000GB
three   0.000GB
user    0.000GB
> show tables     //查看当前数据库的集合
uu
> db.uu.find()   //查询集合uu里的文档
>						//空的

删除数据库

MongoDB 创建数据库的语法格式如下:

db.dropDatabase()   //删除当前数据库

准备工作,看看是否有这个数据库

> show dbs
admin   0.000GB
config  0.000GB
first   0.000GB
local   0.000GB
test    0.000GB
user    0.000GB
> db        //如果不在删除的数据库,那就需要use 切换到要删除的数据库
first

执行删除命令

> db.dropDatabase()   //删除当前数据库
{ "dropped" : "first", "ok" : 1 }
> db   //查看当前链接的是哪个数据库,虽然删除了,但是db还是first,跟添加数据库但没有插入文档一样
first
> show dbs    //没有first数据库了
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
user    0.000GB

那如果删除数据库里所有的集合那数据库会被删除吗?

添加数据库,集合和文档

> db.first.insert({"name":"ooo"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin   0.000GB
config  0.000GB
first   0.000GB
local   0.000GB
test    0.000GB
user    0.000GB

删除指定集合里的所有文档(后面的博客会有)

db.first.remove({})   //删除此数据库的first集合的所有文档

查看

> db.first.find()  //查看当前数据库的first集合里的所有文档,因为删除了,所以没有
> show dbs
admin   0.000GB
config  0.000GB
first   0.000GB     		//但是这个数据库还存在
local   0.000GB
test    0.000GB
user    0.000GB

所明删除数据库必须用删除数据库命令格式,删除全部的集合,数据库不会被删除
我又用可视化工具查看,自己删除的集合虽然为空,但是集合没有被删除,还存在,这就和创建有很大的区别
在这里插入图片描述

这些只是目前浅层的运用方法,一切还是以官网为主,
MongoDB官网中对数据库的全部操作方法

猜你喜欢

转载自blog.csdn.net/weixin_43113679/article/details/91355749
今日推荐