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

news2024/11/20 1:36:53

在正式动手之前,我们需要先安装 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语法打开文件

连接数据库

====================================================================

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

新建游标对象

=====================================================================

cur = cn.cursor()

用 with语法打开文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕业/课程设计——基于STM32的智能灯光控制系统(智能家居、手机APP控制、语音控制)

文章首先介绍本系统所包含的功能,主要包含六方面功能,之后逐步分享开发过程,其流程如下:点亮灯带(三极管)→调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添…

【脚本项目源码】Python实现鲁迅名言查询系统

前言 本文给大家分享的是如何通过利用Python实现鲁迅名言查询系统,废话不多直接开整~ 开发工具 Python版本: 3.6 相关模块: PyQt5模块 fuzzywuzzy模块 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 …

R语言使用最优聚类簇数k-medoids聚类进行客户细分

k-medoids聚类简介 k-medoids是另一种聚类算法,可用于在数据集中查找分组。k-medoids聚类与k-means聚类非常相似,除了一些区别。k-medoids聚类算法的优化功能与k-means略有不同。最近我们被客户要求撰写关于聚类的研究报告,包括一些图形和统…

【JavaWeb开发-Servlet】将项目部署在云服务器

目录 1、环境 (1)连接服务器 (2)安装JDK1.8​编辑 ①到官网下载环境 ②将压缩包上传至linux中 ③解压jdk压缩包 ④修改文件名 ⑤配置环境变量 (3)安装MySQL5.0 ①先下载MySQL的yum库 ②选择5.7发行版本…

基于C#+SQL Server(WinForm)学生选课及成绩查询管理系统【100010027】

学生选课及成绩查询管理系统的设计与开发 1、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要&#xff…

Shell基础

获取命令结果$? 如果上一个命令是成功的则结果为0 否则为127 结果是 www.qfdu.com is down! EOF使用 sh 其实是bash的一个链接,本质上还是执行bash 然后脚本第一句表示使用什么执行器,如果写的是python但是你执行的时候不指定python会报错&#x…

Linux安装Mysql(图文解说详细版,安装包tar包版)

上次教大家用yum安装mysql https://blog.csdn.net/csdnerM/article/details/121095527, 结果还要小伙伴不知道tar包怎么安装,现在出个tar包安装的教程出来供大家参考 文章目录🏢1.官网下载tar包(安装包)🏣…

多个著名 Go 开源项目被放弃,做大开源不能用爱发电,更不能只靠自己!

大家好,我是煎鱼。相信关注我的许多同学都有接触 Go 语言的开发,甚至在企业中多有实践。那么你在日常开发中,势必会接触到 gorilla[1] 组织下的各个 Go 开源项目。如下图:gorilla/mux[2]:Star:17.9k。a pow…

VMWare复制CentOS虚拟机后无法联网

1. 现象描述 原来使用一个 CentOS 虚拟机,这里叫 CentOS_1。网络配置如下:VMWare软件设置 NAT 模式,虚拟机配置 DHCP 自动获取 IP ,开机启动网络。可以正常联网 现在要重新配置一个虚拟机,环境同 CentOS_1。因此我直…

视频恢复软件哪个好用?推荐这几款恢复率高的软件

如果你意外删除了电脑保存的视频文件,无论是单击回收站“还原”还是通过电脑系统备份“还原”,它都无法恢复。如何解决这个问题?此时,你需要寻求文件删除恢复软件的帮助,推荐下面这几款恢复率高的视频恢复软件。如何操…

安卓讲课笔记6.3 使用SQLite数据库

文章目录零、本讲学习目标一、导入新课二、新课讲解(一)SQLite数据库1、SQLite构成2、SQLite数据类型3、SQLite数据库特点(二)使用SQLiteDatabase类操作数据库1、创建安卓应用2、准备图片素材3、字符串资源文件4、主布局资源文件5…

0停机迁移Nacos?Java字节码技术来帮忙

摘要:本文介绍如何将Spring Cloud应用从开源Consul无缝迁移至华为云Nacos。本文分享自华为云社区《0停机迁移Nacos?Java字节码技术来帮忙》,作者:华为云PaaS服务小智。 1.市场迁移云环境痛点 市场微服务迁移云环境难主要有以下几…

[ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)

本文主要讲解如何用Navicat(Navicat Premium ,或者Navicat for mysql)进行MySQL备份和恢复数据库(利用.sql文件的方式)。 关于MySQL数据库备份,本博客内主要相关文章有: [ MySQL ] 使用Navica…

兔子来源中性粒细胞膜

兔子来源中性粒细胞膜 1.按组成元素分 构成细胞膜的成分有磷脂,糖蛋白,糖脂和蛋白质。 2.按组成结构分 磷脂双分子层是构成细胞膜的基本支架。细胞膜的主要成分是蛋白质和脂质,含有少量糖类。其中部分脂质和糖类结合形成糖脂,部分…

“你家娃为什么这么爱看书?”只用3招,孩子秒变小书迷

我儿子从幼儿园带回来一个消息,说班上所有的孩子都在老师那里订课外书。我儿子立即向老师解释说:我不需要买书。我妈妈给我买了很多书。我家里有很多书。我每天都读。家长群里有家长艾特问我的孩子为什么这么喜欢读书。为什么孩子们喜欢读书,…

作业12:第七章课后题

目录习题7-1 在小批量梯度下降中,试分析为什么学习率要和批量大小成正比习题7-2 在Adam算法中,说明指数加权平均的偏差修正的合理性习题7-9 证明在标准的随机梯度下降中,权重衰减正则化和L_{2}正则化的效果相同.并分析这一结论在动量法和Adam…

【Vue2+Element ui通用后台】左侧菜单实现

文章目录主体布局搭建左侧菜单搭建左侧菜单跳转主体布局搭建 我们在 Container 布局容器&#xff0c;找到有左侧、头部、和主体部分的布局&#xff0c;直接复制代码到 Main.vue 中&#xff1a; <template><div><el-container><el-aside width"200p…

「从零入门推荐系统」06:推荐系统召回算法介绍

作者 | gongyouliu编辑 | gongyouliu我们在前面几章中介绍了推荐系统的一些基本概念&#xff0c;从本章开始我们会进入推荐系统的核心章节&#xff0c;也就是关于推荐算法部分的介绍。我们在第五章「推荐系统业务流程与架构」中讲到推荐系统一般会分为召回和排序两个阶段&#…

ADI Blackfin DSP处理器-BF533的开发详解38:图像处理专题-Sobel 算子边缘检测(含源代码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了 Sobel 算子的图像边缘检测&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"…

Java集合和常见数据结构以及泛型

Java集合和常见数据结构以及泛型集合概述Collection集合的体系特点Collection集合常用APICollection集合的遍历方式方法一&#xff1a;迭代器方法二&#xff1a;foreach/增强for循环方法三&#xff1a;lambda表达式Collection集合存储自定义类型的对象常见数据结构数据结构概述…