生而自由
虽不是每个人都能实现的
但愿每个人
都保持一颗追求自由的勇敢心
PS:致敬每一位为自由而勇敢追求的人
今天探长和大家探讨python爬虫的存储库-pymysql,探长将从什么是pymysql、pymysql的安装、pymysql连接对象、pymysql游标对象、案例等方面进行分析。
Part 0 - 分析架构
Part 1 - 什么是pymysql
pymysql是python的一个第三方库,顾名思义pymysql是在python中操作mysql数据库的API,操作者可以直接在python中使用python语法+SQL语法实现对mysql数据库的操作,简化在python中操作mysql的流程。
Part 2 - pymysql的安装
由于pymysql是python的第三方库(不是python标准库),因此在纯python环境下需要单独安装,通过pip实现pymysql的安装:
如果使用的是anaconda集成环境,由于pymysql集成在anaconda环境中,因此无需进行单独安装。
Part 3 - pymysql连接对象
使用pymysql进行操作之前,首先需要建立与mysql数据库的连接(相当于在python与mysql之间建立一个通道,否则python无法到达mysql中),同时连接对象具有一些方法,探长会一一分享。
3.1 建立连接对象-connect方法
通过pymysq的connect方法可以建立与mysql数据库的连接,其中host参数为主机的ip地址;user参数为操作mysql的一个用户账号;password参数为账号密码;database为mysql中需要进行操作的数据库名;port参数为mysql的端口号,默认为3306,如果更改了那么需要添加更改后的端口号;如果不加charset参数,如果数据库中存在中文,那么很有可能出现乱码情况,通过增加charset='utf8'可以正常显示;
3.2 连接对象的相关方法
commit()方法
commit用于将事物提交到数据库中,如果数据库支持自动提交功能,那么无需进行commit操作(可有可无);
close()方法
close方法用于关闭连接,一般情况下,在完成操作后需要使用close方法关闭与数据库的连接;
cursor()方法
cursor方法用于返回一个游标对象,通过游标的相关方法进行SQL语法的调用,进而实现pymysql对mysql数据库的操作。
Part 4 - 游标cursor对象
建立游标之后,就可以通过游标对数据库进行相关操作,游标有属性和方法,其中核心的是方法。
4.1 游标属性
description属性
description属性用于返回cursor对象的描述性信息,例如name、type_code等,在cursor对象没有execute任何操作之前,cur.description返回None,而execute操作之后就会返回相应的信息;
rowcount属性
rowcount属性用于返回最后执行或受影响的行数,在没有execute执行之前,默认返回-1,在execute执行之后,返回的是最后执行或受影响的行数,例如执行insert插入操作,插入了6条数据,那么cur.rowcount返回结果6.
4.2 游标方法
执行方法-execute()/executemany()方法
execute()和executemany()方法都是执行sql语句的方法,区别在于execute一次仅能执行一个操作,而executemany可以执行多个操作;
其中executemany由于可以执行多个操作,因此常用于批量操作,execute仅能插入单一操作,因此可以应用于循环操作中;
获取方法-fetchone/fetchmany/fetchall方法
fetchone()方法用于获取执行结果的一条数据;fetchmany(size=1)用于获取执行的n条数据,想获取几条需要手动指定,例如size=3就是获取执行的三条数据;fetchall()用于获取执行结果的所有数据;
无论fetchone、fetchmany、fetchall都是以元组形式返回结果;
关闭游标方法-close()方法
游标执行操作完成之后需要关闭,因此通过close()方法执行关闭操作
Part 5 - 案例
description:向test2数据库中插入表pymysql(两个字段id,name),首先插入数据,然后删除部分数据,修改数据,查询数据
以上就是常用存储库pymysql的使用方法,探长希望能够帮助到你!如有任何问题,欢迎与探长联系(在探长交流-->学习交流中可以加探长微信),或者进行留言互动!
茫茫人海中 期待与你相遇 在你我最美丽的时刻
领取专属 10元无门槛券
私享最新 技术干货