首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pymysql存储库-爬虫干货系列6

生而自由

虽不是每个人都能实现的

但愿每个人

都保持一颗追求自由的勇敢心

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的使用方法,探长希望能够帮助到你!如有任何问题,欢迎与探长联系(在探长交流-->学习交流中可以加探长微信),或者进行留言互动!

茫茫人海中 期待与你相遇 在你我最美丽的时刻

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180603G0UW1R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券