【Python爬虫学习笔记8-1】MySQL数据库和MongoDB数据库存储概述
之前学习的JSON和CSV两种数据存储方式,都是基于文件的存储,有时候运用起来或许不是那么方便,为此本节来介绍基于数据库管理的存储方式。在日常工作中,常用的数据库分为关系型数据库和非关系型数据库。
关系型数据库
关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,即其存储方式是由若干行和列组成的表,每一列为一个字段,每一行为一条记录。我们可以把表看成是具有相同数据结构的实体(记录)的集合,而多个表的实体间又存在一定的关系,多个表组成了一个关系型数据库。
常见的关系型数据库包括有MySQL、SQLite、Oracle和SQL Server等。这里我们选择了使用MySQL,其实关于它的说明介绍,在我的之前博客中已经较为详细地讲解过,并给出了使用pymysql来连接和操作数据库的方法。在此不再叙述,具体的内容可以参阅博客:《Python pymysql——Mysql数据库Python化操作》。
这里还需补充说明一下,在MySQL安装过程中,可以选择安装官方的可视化数据库管理界面WorkBench以方便对数据库的操作,不过在此还推荐另外一个可视化管理的软件Navicat Premium,它的功能更为强大,且能够兼容多种类型的数据库,使用起来也很方便,不失为一种不错的可视化软件的选择。
非关系型数据库
非关系型数据库(NoSQL,Not Only SQL),其是基于键值对的,不需要经过SQL层的解析,数据之间没有耦合性且性能非常高。非关系型数据库可细分为键值存储数据库(如Redis和Oracle BDB等)、列存储数据库(如HBase和Riak等)、文档型数据库(如MongoDB和CouchDB等)以及图形数据库(如Neo4j和InfoGrid等)。这里我们主要来介绍MongoDB数据存储操作。
MongoDB是由C++编写的一个基于分布式文件存储的数据库系统,其内容存储形式类似于JSON,字段值可以包含文档和数组等,使用十分方便灵活。
1.安装方法
安装非常简单,只需要从官网上下载对应的安装包,根据提示便能轻松完成安装:https://www.mongodb.com/download-center?jmp=nav
在安装好MongoDB Server后,还建议安装一个用于管理数据库的可视化界面软件MongoDB Compass(虽然上文的Navicat也可以,不过该软件操作更为人性化,更加简洁便利),这个软件同样可以在官网的下载页找到。
2.使用命令行启动和操作MongoDB
在启动前,为方便命令行的输入,我们先将MongoDB的bin路径加入到系统环境变量Path中,如下图所示:
此后,打开命令行,输入命令’mongod –dbpath <所存放数据的文件的绝对路径>’,这里需要事先创建一个用于存放数据库数据的文件夹,比如在文件中创建了一个名为mongodata的文件,则命令为:mongod --dbpath C:\Users\UnikFox\Documents\mongodata,输入后回车就会显示如下界面,说明启动成功,最后一行显示为端口号27017待连接状态。其实这里的mongod为服务器,而相应的mongo则为客户端。
接下来在打开另一个命令行窗口,输入命令mongo便可以成功连接数据库进行相应的操作了。
3.使用Compass连接和操作MongoDB
在第一次打开Compass时我们会进入如下的连接页面,这里我们保持默认选项,点击CONNECT即可连接到MongoDB数据库系统。不过这里需要注意的是前提要在命令行开启MongoDB服务,否则会出现未开启服务的错误提示。
连接成功便可以看到我们数据库系统中的所有数据库。
接下来我们简单地来创新一个新的数据库并插入数据。创建数据库只需要点击CREATE DATABASE,然后输入数据库名和集合名(表名)点击创建即可。如下图,我们创建了一个含有db表的Test数据库。
点击旁栏进入到表中便可进行数据的增删改查操作
4.制作MongoDB windows 服务
首先,为什么要制作成服务的形式呢?在此之前,我们若要启动Mongo,都需要用命令行输入待使用的数据库路径,这是非常不方便的,如果能够有一个通用的简短的启动命令,那会是很友好的。因此,我们就有了制作服务一说,其目的就是为了能够以简短而方便有效的命令启动Mongo。
具体的制作步骤如下:
1.创建待存储数据的文件夹
如我在Documents下新建了一个Mongo文件夹,并且在其中又创建了data文件夹
2.创建日志记录文件
在上面的Mongo文件夹下继续创建一个log文件夹,其中新建了一个名为’mongod.log’的日志文件
3.在Mongo安装的目录下,新建一个名为’mongod.cfg’的配置文件,其内容为指定数据库路径和日志路径:
dbpath=C:\Users\UnikFox\Documents\Mongo\data
logpath=C:\Users\UnikFox\Documents\Mongo\log\mongod.log4.执行命令’mongod --config "<mongod.cfg文件的绝对路径>" --install’即可
如我的命令则为‘mongod --config "C:\MongoDB\Server\4.0\mongod.cfg" –install’
如此一来,便可使用命令’net start mongodb’和’net stop mongodb’来启动和停止mongodb服务了。不过这里还要注意的是需要以管理员身份运行命令提示符,否则就会出错。
以上便是MongoDB数据库的安装、启动和配置,关于MongoDB的更多概念、基本操作以及在python中的使用方式,请看下一篇学记笔记《【Python爬虫学习笔记8-2】MongoDB数据库操作详解》