python爬虫13:pymysql库

python爬虫13:pymysql库

前言

​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。

申明

​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好影响。

目录结构

文章目录

    • python爬虫13:pymysql库
      • 1. 概述
      • 2. 方法
        • 2.1 模块:
        • 2.2 使用流程:
        • 2.3 Connection对象:
        • 2.4 Cursor对象:
        • 2.5 使用举例:
      • 3. 总结

1. 概述

​ pymysql是python与MySQL数据库进行交互的库,使用起来非常简单。虽然我用不到MySQL库,电脑重装系统后也没有安装它,但是考虑到可能有的人需要,所以还是说一下它。

​ 学习pymysql非常简单,重要的是要会MySQL的用法,不然单学这个库没啥用的。

2. 方法

2.1 模块:

pymysql

2.2 使用流程:

1. 创建connection
2. 获取cursor
3. 命令执行
4. 关闭cursor
5. 关闭connection

2.3 Connection对象:

该对象用于建立与数据库的连接

conn = pymysql.connect(参数列表)

​ 常用的参数:

参数host:			连接的mysql主机,如果本机是'localhost'
参数port:			连接的mysql主机的端口,默认是3306
参数database:		数据库的名称
参数user:			连接的用户名
参数password:		连接的密码
参数charset:		通信采用的编码方式,推荐使用utf8

​ 该对象的方法:

conn.close()		关闭连接
conn.commit()		提交(将所有的提交)
conn.cursor()		返回Cursor对象,用于执行sql语句并获得结果

2.4 Cursor对象:

​ 作用:

用于执行sql语句,使用频度最高的语句为select、insert、update、delete

​ 该对象的常用方法:

close()				
	关闭

execute(operation [, parameters ])	
	执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句

fetchone()		
	执行查询语句时,获取查询结果集的第一个行数据,返回一个元组

fetchall()
	执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回

2.5 使用举例:

​ 例子一:

from pymysql import *

def main():
    # 创建Connection连接
    conn = connect(host='localhost',port=3306,user='root',password='xxx',database='xxx',charset='utf8')
    # 获得Cursor对象
    cs1 = conn.cursor()
    # 执行select语句,并返回受影响的行数:查询一条数据
    count = cs1.execute('select id,name from goods where id>=4')
    # 打印受影响的行数
    print("查询到%d条数据:" % count)

    # for i in range(count):
    #     # 获取查询的结果
    #     result = cs1.fetchone()
    #     # 打印查询的结果
    #     print(result)
    #     # 获取查询的结果

    result = cs1.fetchall()
    print(result)

    # 关闭Cursor对象
    cs1.close()
    conn.close()

if __name__ == '__main__':
    main()

​ 例子二:

from pymysql import *

def main():
    # 创建Connection连接
    conn = connect(host='localhost',port=3306,database='xxx',user='root',password='xxx',charset='utf8')
    # 获得Cursor对象
    cs1 = conn.cursor()
    # 执行insert语句,并返回受影响的行数:添加一条数据
    # 增加
    count = cs1.execute('insert into goods_cates(name) values("硬盘")')
    #打印受影响的行数
    print(count)

    count = cs1.execute('insert into goods_cates(name) values("光盘")')
    print(count)

    # # 更新
    # count = cs1.execute('update goods_cates set name="机械硬盘" where name="硬盘"')
    # # 删除
    # count = cs1.execute('delete from goods_cates where id=6')

    # 提交之前的操作,如果之前已经之执行过多次的execute,那么就都进行提交
    conn.commit()

    # 关闭Cursor对象
    cs1.close()
    # 关闭Connection对象
    conn.close()

if __name__ == '__main__':
    main()

3. 总结

​ 由于我没有安装MySQL库,上面的例子(我之前写过的代码)就没有配图,不过这个库是非常简单的,大家稍微看看应该就会了,没啥好说的。

你可能感兴趣的:(python爬虫系列,python,爬虫,开发语言)