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

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

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 web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
在这里插入图片描述

三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

四、Python练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~在这里插入图片描述

六、Python面试资料

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

七、资料领取

上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码输入“领取资料”免费领取!!

你可能感兴趣的:(mysql,python,学习,数据库,开发语言)