Python学习之——使用pymysql对数据库进行操作

Python学习之——使用pymysql对数据库进行操作

八月 13, 2018

今天就来简单的学习一下通过pymsql依赖库,对MySQL数据进行一些基本的操作

pymsql源码地址

pymsql文档地址

  • 安装pymsql依赖库
1
$ pip install pymsql

一:我们先创建好一个数据库并建立一个简单的表结构

  • 创建数据库选择utf8mb4 -- UTF-8 Unicode字符集和utf8mb4_general_ci排序规则
    这里写图片描述
  • 创建一张表暂且命名为article
    这里写图片描述

    插入数据

    这里我就将上次爬取到的掘金文章数据存储到这张表里

    掘金文章爬虫源码

  • 首先导入pymysql
1
import pymysql.cursors
  • 定义数据库主机、端口号、用户名、密码等信息连接数据库、并执行sql语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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语句查询数据库中的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 连接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()

打印的结果

这里写图片描述

####如果要对数据库更加复杂的操作,你也只需要改改sql语句就好了