MongoDB的基本操作
NoSQL的简介
SQL数据有一个最大的特点,限制每一个字段的类型
SQL数据库中的password是varchar(字符串)类型,此时如果由于业务的需要,要将password变为仅int(数字)类型,由于之前的所有数据都是varchar类型,所以拓展性有限
NoSQL(Not Only SQL)非结构化数据库
我们看一下什么是非结构化数据
{"id":"10001","name":"小明","age":12,"sex":"男"},
{"id":"10002","name":"小红","age":13,"sex":"女","class":"3班","score":100},
也就是每一个字段没有限制,比如id可以是数字也可以是字符串,中间互相转换也是允许的。
SQL |
适合严格类型的语言,对于查询非常有利 |
限制的字段的拓展性 |
NoSQL |
不限制字段类型,每一条数据都有自己的表达形态 |
不适用于严格类型的使用 |
MongoDB数据库的下载和安装
MongoDB数据就是NoSQL类型
选择系统和版本以及下载类型下载即可
然后解压到c盘的Program Files文件夹中,配置其环境变量
输入下面的命令查看是否安装成功
mongo -version
Mogo数据库的简单操作
mongo数据库也是有可视化图形面板软件的的,下面学一些简单命令进行操作
工具 |
作用 |
mongod.exe |
负责开机的 |
mongo.exe |
负责管理数据库的 |
启动数据库(数据库开机)命令
在本地c盘创建一个database文件
mongod --dbpath c:\database
此时不要关闭这个面板,否则mongoDB会关闭
创建数据库使用use
use代表的是使用和创建的意思,如果有该数据库代表的是使用,如果没有则表示创建
此时我们在打开一个命令面板
输入mongo命令之后,表示可以对数据库进行操作
输入指令:use study
此时创建并切换到了study数据库
接下来我们可以在数据库中进行建表,建表和创建数据库一样,如果有代表进入否则代表新建
输入下面命令:
db.student.insert({"id":1,"name":"小明","age":20,"sex":"男"})
此时就代表写入了一条数据
多条数据的写入
查看这个集合,find()代表查看所有
db.student.find()
条件查询,比如要查找表中所有的男生
db.student.find({"sex":"男"})
此时我们查询大于20的学生
db.student.find({"age":{"$gt":20}})
条件在进一步,此时我们要查找年龄小于23岁的男生,或者年龄大于20岁的女生
db.student.find({"$or":[{"sex":"男","age":{"$lt":23}},{"sex":"女","age":{"$gt":20}}]})
删除某一个表中的某一条符合条件的数据
db.student.remove({"sex":"男"})
查看所有的数据库
show dbs
要想创建数据库必须最少有一条数据
删除数据库操作,此时我们新建一个数据并进行删除数据库操作
第一步必须要先use进去才能删除,只有在本数据库内才可以进行删除操作
db.dropDatabase()
查看某一个数据库下面所有的表(集合)
在当前的数据库下输入
show collections
此时我们新建一个表并删除
删除这个delete的表
db.delete.drop()
此时就删除成功
数据的导入和导出
最新版本的MongoDB是没有导入和导出的,需要下载对应拓展工具
下载地址:https://www.mongodb.com/try/download/database-tools?tck=docs_databasetools
下载完之后我们只需要解压这两个就行,然后放到环境变量的bin文件夹内部
此时我们就可以进行导入和导出了
此时需要注意的是,我使用导入和导出的时候不要开启REPL(read eval print loop)环境,也就是不要在mongo命令之后
我们先看导入
mongoimport -d study -c student F:\desktop\123456789.txt
-d(database)表示的是导入到哪个数据库,-c(collections)表示的是哪个表(集合)
注意的是文件的路径不用自己手写,只需要将文件“扥”、“拽”进来命令面板即可
此时我们查看表中信息可以看到
我们导出这个表
mongoexport -d mashibing -c student -o F:\desktop\导出的表.txt
-o 指明要导出的文件名