写点什么

实战|教你用 Python 玩转 Mysql

用户头像
李运辰
关注
发布于: 2021 年 05 月 23 日

爬虫采集下来的数据除了存储在文本文件、excel 之外,还可以存储在数据集,如:Mysql,redis,mongodb 等,今天辰哥就来教大家如何使用 Python 连接 Mysql,并结合爬虫为大家讲解。


前提这里默认大家已经安装好 mysql


01


Mysql 简介


mysql 是关系型数据库,支持大型的数据库,可以处理拥有上千万条记录的大型数据库。通过爬虫采集的数据集存储到 mysql 后,可以借助 mysql 的关联查询将相关的数据一步取出。具体的作用这里就不赘述了,下面开始进入实际操作。

1.安装 pymysql

通过下面这个命令进行安装


pip install pymysql
复制代码


pymysql 库:Python3 链接 mysql


备注:


ps:MYSQLdb 只适用于 python2.x


python3 不支持 MYSQLdb,取而代之的是 pymysql


运行会报:ImportError:No module named 'MYSQLdb'

2.python 连接 mysql

import pymysql as pmq
复制代码


localhost 是本机 ip,这里用 localhost 表示是当前本机,否则将 localhost 改为对应的数据库 ip。


root 是数据库用户名,123456 是数据库密码,python_chenge 是数据库名。



图上的数据库 python_chenge 已经建立好(建好之后,才能用上面代码去连接),建好之后,当前是没有表的,现在开始用 Python 进行建表,插入、查询,修改,删除等操作(结合爬虫去讲解


02


建表


在存储之前,先通过 python 创建表,字段有四个(一个主键+电影名称,链接,评分


# 创建 movie 表
复制代码


创建表 movie,字段分别为(id ,title ,url ,rate ),CHARACTER SET utf8 COLLATE utf8_general_ci 是字符串编码设置为 utf8 格式


id 是主键 primary key,int 类型,AUTO_INCREMENT 自增,非空 not null


title,url 是字符串类型 varchar(100),同样非空


评分 rate 是带小数的数字,所以是 float,同样非空



03


插入数据


爬虫已经采集到数据,python 已经建好表,接着可以将采集的数据插入到数据库,这里介绍两种方式


### 插入数据
复制代码


id 是自增的,所以不需要在传值进去。


定义好插入数据库方法后,开始往数据库进行存储


for i in json_data['subjects']:
复制代码



04


查询

1.查询所有

查询表中所有数据


# 查询
复制代码


2.查询指定的数据

比如查询标题为:唐人街 3 这一条数据的所有字段


#查询单条
复制代码



05


更新修改


更新数据,还是以上面:唐人街 3 为例,id 为 7,将唐人街 3 评分从 5.5 改为 6


### 更新
复制代码



同时看一下数据库



06


删除


同样还是以唐人街为例,其 id 为 7,删除的话咱们可以更新 id 去删除


def delete(Id):
复制代码



删除之后,就没有第 7 条数据了,说明删除成功


07 小结


今天的技术讲解文章就到此结束,主要是将了如何通过 python 去连接 mysql,并进行建表,插入数据,查询,更新修改和删除。(干货文章,推荐收藏


发布于: 2021 年 05 月 23 日阅读数: 34
用户头像

李运辰

关注

个人公众号:Python研究者 2021.04.26 加入

教你如何学Python,专注于Python入门与进阶、爬虫、数据分析挖掘、数据可视化。分享Python相关的技术文章、工具资源、视频教程、学习资料。

评论

发布
暂无评论
实战|教你用Python玩转Mysql