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语句就好了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code-Porter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值