zoukankan      html  css  js  c++  java
  • 【Python爬虫学习笔记8-1】MySQL数据库和MongoDB数据库存储概述

    之前学习的JSON和CSV两种数据存储方式,都是基于文件的存储,有时候运用起来或许不是那么方便,为此本节来介绍基于数据库管理的存储方式。在日常工作中,常用的数据库分为关系型数据库和非关系型数据库。

    关系型数据库

    关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,即其存储方式是由若干行和列组成的表,每一列为一个字段,每一行为一条记录。我们可以把表看成是具有相同数据结构的实体(记录)的集合,而多个表的实体间又存在一定的关系,多个表组成了一个关系型数据库。

    常见的关系型数据库包括有MySQL、SQLite、Oracle和SQL Server等。这里我们选择了使用MySQL,其实关于它的说明介绍,在我的之前博客中已经较为详细地讲解过,并给出了使用pymysql来连接和操作数据库的方法。在此不再叙述,具体的内容可以参阅博客《Python pymysql——Mysql数据库Python化操作》

    这里还需补充说明一下,在MySQL安装过程中,可以选择安装官方的可视化数据库管理界面WorkBench以方便对数据库的操作,不过在此还推荐另外一个可视化管理的软件Navicat Premium,它的功能更为强大,且能够兼容多种类型的数据库,使用起来也很方便,不失为一种不错的可视化软件的选择。

    image

    image

    非关系型数据库

    非关系型数据库(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也可以,不过该软件操作更为人性化,更加简洁便利),这个软件同样可以在官网的下载页找到。

    image

    2.使用命令行启动和操作MongoDB

    在启动前,为方便命令行的输入,我们先将MongoDB的bin路径加入到系统环境变量Path中,如下图所示:

    image

    此后,打开命令行,输入命令’mongod –dbpath <所存放数据的文件的绝对路径>’,这里需要事先创建一个用于存放数据库数据的文件夹,比如在文件中创建了一个名为mongodata的文件,则命令为:mongod --dbpath C:UsersUnikFoxDocumentsmongodata,输入后回车就会显示如下界面,说明启动成功,最后一行显示为端口号27017待连接状态。其实这里的mongod为服务器,而相应的mongo则为客户端。

    image

    接下来在打开另一个命令行窗口,输入命令mongo便可以成功连接数据库进行相应的操作了。

    image

    3.使用Compass连接和操作MongoDB

    在第一次打开Compass时我们会进入如下的连接页面,这里我们保持默认选项,点击CONNECT即可连接到MongoDB数据库系统。不过这里需要注意的是前提要在命令行开启MongoDB服务,否则会出现未开启服务的错误提示。

    image

    连接成功便可以看到我们数据库系统中的所有数据库。

    image

    接下来我们简单地来创新一个新的数据库并插入数据。创建数据库只需要点击CREATE DATABASE,然后输入数据库名和集合名(表名)点击创建即可。如下图,我们创建了一个含有db表的Test数据库。

    image

    点击旁栏进入到表中便可进行数据的增删改查操作

    image

    image

    4.制作MongoDB windows 服务

    首先,为什么要制作成服务的形式呢?在此之前,我们若要启动Mongo,都需要用命令行输入待使用的数据库路径,这是非常不方便的,如果能够有一个通用的简短的启动命令,那会是很友好的。因此,我们就有了制作服务一说,其目的就是为了能够以简短而方便有效的命令启动Mongo。

    具体的制作步骤如下:

    1.创建待存储数据的文件夹

    如我在Documents下新建了一个Mongo文件夹,并且在其中又创建了data文件夹

    2.创建日志记录文件

    在上面的Mongo文件夹下继续创建一个log文件夹,其中新建了一个名为’mongod.log’的日志文件

    3.在Mongo安装的目录下,新建一个名为’mongod.cfg’的配置文件,其内容为指定数据库路径和日志路径:

    dbpath=C:UsersUnikFoxDocumentsMongodata
    logpath=C:UsersUnikFoxDocumentsMongologmongod.log

    image

    4.执行命令’mongod --config "<mongod.cfg文件的绝对路径>" --install’即可

    如我的命令则为‘mongod --config "C:MongoDBServer4.0mongod.cfg" –install’

    image

    如此一来,便可使用命令’net start mongodb’和’net stop mongodb’来启动和停止mongodb服务了。不过这里还要注意的是需要以管理员身份运行命令提示符,否则就会出错。

    以上便是MongoDB数据库的安装、启动和配置,关于MongoDB的更多概念、基本操作以及在python中的使用方式,请看下一篇学记笔记《【Python爬虫学习笔记8-2】MongoDB数据库操作详解》


  • 相关阅读:
    SQL Server 2005中 with as 使用介绍
    论信息系统项目的整体管理
    自定义控件的使用以及与用户控件的区别
    Sql Server2005 TransactSQL 新兵器学习总结之DDL触发器
    我的大学系分之路
    C#序列化与反序列化(Serializable and Deserialize)
    父子节点树形数据输出
    自定义枚举类型注释属性,并在程序中获取
    SSAS没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)) 解决办法
    对ASP.NET网站的服务器端压缩
  • 原文地址:https://www.cnblogs.com/Unikfox/p/9692748.html
Copyright © 2011-2022 走看看