我们使用python爬取得到的数据,有时候会数据量特别大,需要存入数据库。
需要注意的是,MySQL是一种关系型数据库管理系统,利用MySQL可以对数据库进行操作,而MySQL并不是一个数据库。
而pymysql库的作用就是在python中对MySQL进行操作。
简单来说,使用pymysql库对MySQL进行操作,分为以下三个步骤:
1. 同MySQL建立连接
要对MySQL进行操作,首先需要同MySQL建立连接。pymysql提供了connect()方法用于同MySQL建立连接:
import pymysql db = pymysql.connect(host='localhost', user='root', password='mysqlkey', db='test_db', port=3306)
需要传入的参数如下:
传入参数 | 注释 |
host | 服务器地址 |
user | MySQL的账户 |
password | 账户密码 |
db | 需要连接到的数据库名 |
port | 连接用的端口 |
2. 执行SQL语句
2.1 创建游标
# 创建游标 cursor = db.cursor()
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作。然而这些都是mysql内部的事情了,我们只需要知道要写上这么两句话,在执行sql语句前实例化一个游标对象,并在执行完sql语句提交后,关掉这个游标就好了。
2.2 传入需要执行的SQL语句
使用cursoe.execute()方法传入需要执行的SQL语句
# 执行一条SQL语句,如果test表存在就删除 cursor.execute('DROP TABLE IF EXISTS test')
2.3 将SQL语句提交至MySQL执行
使用commit()方法将execute()传入的SQL语句提交至MySQL执行。
# 提交至MySQL执行 db.commit()
3. 关闭同MySQL的连接
# 关闭游标 cursor.close() # 关闭同数据库的连接 db.close()
完成对数据库的操作后,需要关闭游标及同数据库的连接,以释放资源。