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

今天就来简单的学习一下通过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()

打印的结果

这里写图片描述

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

猜你喜欢

转载自blog.csdn.net/a_zhon/article/details/81630825