如何使用PyMySQL模块进行增删改查?

MySQL 是目前最为流行的关系型数据库。接下来我们通过一个简单的案例,练习如何使用PyMySQL 模块进行增删改查的操作。简单来讲,核心步骤有两步:链接数据库,读取 CSV 文件并导入数据表,然后查询数据,将数据表和计算结果导出为 CSV 文件。下面一起来具体看看吧

Step1: 安装 PyMySQL 模块

在正式动手之前,我们需要先安装 PyMySQL 模块。

(1)使用 pip 安装, 清华镜像:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql

(2)使用 conda 安装

conda install pymysql

Step2: 从 CSV 文件导入数据到 MySQL 数据表

安装好以后,我们来进行第二步操作,从 CSV 文件导入数据到 MySQL 数据表。与内置的 SQLite 模块一样, PyMySQL 也遵循 DB-API 规范,因此我们前面开发的大多数代码经过简单修改即可使用,以下代码中主要注释了与 SQLite 操作的不同之处。

# 导入 pymysql 模块

import pymysql



# 连接数据库, 这里需要提供许多参数给 connect 方法

# host 服务器ip地址

# user 用户名  password 密码

# db 数据库名称

cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')

# port 端口 缺省值为 3306



# 新建游标对象 :和 SQLite 一样

cur = cn.cursor()



# 建表SQL语句, 小技巧: if not exists 不会引起表已经存在的错误

#  MySQL 使用的是 auto_increment , 注意有个下划线

artist_create_table = """

create table if not exists artist(

    id integer  primary key auto_increment not null,

    name varchar(255)

)

"""



try:

    cur.execute(artist_create_table)

    print(" 成功建表 ")

except:

    pass



# 插入语句 , 使用 %(id)s  意味着我们会用字典对象替换数据

# PyMYSQL 使用的语法是 %(名称)s

artist_insert ="""

insert into artist(id, name) values ( %(id)s, %(name)s )

"""



# 以下代码和 SQLite 一样



# 导入 csv  模块

import csv

# 用 with 语法, 打开文件

with open('artist.csv', newline='') as csvfile:

    # 用 DictReader 类, 方便开发

    reader = csv.DictReader(csvfile)

    # 按行遍历csv 文件

    for row in reader:

        try:

            # 按行执行 SQL 语句, 注意, 这里使用 字符串的format方法将数据替换进去

            # 如果可以相信数据的安全性可以这样做, 如果数据来自互联网, 需要用另一种更加安全的方式

            cur.execute(artist_insert,  {"id": row['id'], "name": row['name'] } )

        except Exception as e:

            print(e)

print(" 成功导入 CSV 数据" )

# 提交事务

cn.commit()

# 关闭数据库

cn.close()

Step3: 将数据表与计算结果导出为 CSV 文件

接下来我们使用 execute 方法获取数据,然后输出到 CSV 文件,与 SQLite 代码类似:

# 导入 pymysql 模块

import pymysql

# 连接数据库

cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')

# 新建游标对象

cur = cn.cursor()

# 用 with语法打开文件

with open("artist_data.csv", 'w') as csvfile:

    # 首先读取 description 写入 CSV 的第一行

    # 执行 SQL 语句

    results= cur.execute("select * from artist")

    # 获得 description

    description = cur.description

    # 新建 CSV writer 对象

    writer = csv.writer(csvfile)

    # 写入列名称

    writer.writerow([ x[0] for x in description ] )

    # 遍历数据

    for row in cur:

        # 写入每一行数据

        writer.writerow(row)

print(" 成功写入 CSV 文件")

以上我们使用 PyMySQL 模块为例,介绍了如何使用 Python 对 MySQL 数据库进行增删改查,大家都学会了吗?

 Python经验分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
在这里插入图片描述

学习软件

Python常用的开发软件,会给大家节省很多时间。
在这里插入图片描述

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
在这里插入图片描述

100道练习题

在这里插入图片描述

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
在这里插入图片描述
最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值