今天就来简单的学习一下通过pymsql
依赖库,对MySQL数据进行一些基本的操作
pymsql源码地址
pymsql文档地址
- 安装
pymsql
依赖库
$ pip install pymsql
一:我们先创建好一个数据库并建立一个简单的表结构
- 创建数据库选择
utf8mb4 -- UTF-8 Unicode
字符集和utf8mb4_general_ci
排序规则
- 创建一张表暂且命名为
article
吧
插入数据
这里我就将上次爬取到的掘金文章数据存储到这张表里
- 首先导入
pymysql
库
import pymysql.cursors
- 定义数据库主机、端口号、用户名、密码等信息连接数据库、并执行sql语句
host = "localhost"
port = 62503
user = "root"
password = "123456"
db = "azhon_py"
for article in allArticle:
# 连接数据库 port默认为3306
connection = pymysql.connect(host=host, port=port, user=user, password=password, db=db,
charset="utf8mb4")
try:
# 获取会话指针
with connection.cursor() as cursor:
# 创建sql语句
sql = "insert into `article`(`title`,`url`) values (%s,%s)"
# 执行sql语句
cursor.execute(sql, (article.title, article.url))
# 提交
connection.commit()
finally:
connection.close()
这里allArticle
就是获取到的文章和链接的集合,来看下数据库表里有没有数据吧
通过sql语句查询数据库中的数据
# 连接MySQL数据库
connection = pymysql.connect(host=host, port=port, user=user, password=password, db=db,
charset="utf8mb4")
try:
# 获取会话指针
with connection.cursor() as cursor:
# 查询语句
sql = "select `id`,`title`,`url` from `article`"
# 执行查询sql语句 返回查询到的数量
count = cursor.execute(sql)
# print(count)
# 查询所有数据 返回一个list
fetchall = cursor.fetchall()
for result in fetchall:
# 格式化输出好看那么一点
print("%d\t--\t%s\n\t\t%s" % (result[0], result[1], result[2]))
# 查询指定条数数据
# fetchmany = cursor.fetchmany(size=3)
# print(fetchmany)
finally:
connection.close()