当前位置:   article > 正文

Python实战:如何用Python连接mysql?(详细过程)_python连接mysql数据库

python连接mysql数据库

爬虫大家都很熟悉了,那你知道它采集下来的数据除了存储在文本文件、excel之外,还可以存储在数据集吗?像Mysql,redis,mongodb等都是他经常存储的数据集,今天就来给大家分享一下如何使用Python连接Mysql,并结合爬虫为大家讲解。不知道的可以仔细看看了,知道的可以复习巩固一下哦~

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

01 Mysql简介

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

1.安装pymysql

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

pip install pymysql
  • 1

pymysql库:Python3链接mysql

备注:

ps:MYSQLdb只适用于python2.x

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

运行会报:ImportError:No module named ‘MYSQLdb’

2.python连接mysql

import pymysql as pmq
#connect(ip.user,password,dbname)
con = pmq.connect('localhost','root','123456','python_chenge')
#操作游标
cur = con.cursor()
  • 1
  • 2
  • 3
  • 4
  • 5

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

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

img

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

02 建表

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

# 创建 movie 表
movie_sql= '''
        create table movie(
            id int AUTO_INCREMENT  primary key not null,
            title varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,
            url varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,
            rate float  not null
        )
'''
# 执行sql语句
cur.execute(movie_sql)
# 提交到数据库执行
con.commit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

创建表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,同样非空

img

03 插入数据

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

### 插入数据
def insert(title,url,rate):
    # 插入数据一
    #cur.execute("INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")")
    # 插入数据二
    sql = "INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")"
    cur.execute(sql)
    # 提交到数据库执行
    con.commit()    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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

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

for i in json_data['subjects']:
    insert(i['title'],i['url'],i['rate'])
  • 1
  • 2

img

04 查询

1.查询所有

查询表中所有数据

# 查询
cur.execute('select * from movie')
results = cur.fetchall()
for row in results:
    Id = row[0]
    title = row[1]
    print("id=%s,title=%s" % (Id, title))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

img

2.查询指定的数据

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

#查询单条
cur.execute('select * from movie where title="唐人街探案3"')
results = cur.fetchall()
for row in results:
    Id = row[0]
    title = row[1]
    url = row[2]
    rate = row[3]
    print("id=%s,title=%s,url=%s,rate=%s" % (Id, title,url,rate))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

img

05 更新修改

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

### 更新
def update():
    sql = "update movie set rate='6' where Id = {0}".format(7)
    cur.execute(sql)
    con.commit()
  • 1
  • 2
  • 3
  • 4
  • 5

img

同时看一下数据库

img

06 删除

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

def delete(Id):
    sql = "delete from movie where Id = {0}".format(Id)
    cur.execute(sql)
    con.commit()
  • 1
  • 2
  • 3
  • 4

img

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

07 小结

今天分享到此结束,主要是讲如何通过python去连接mysql,并进行建表,插入数据,查询,更新修改和删除。

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至CSDN官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/634754
推荐阅读
相关标签
  

闽ICP备14008679号