程序猿大战Python——Python与MySQL交互一

pymysql模块的安装

==目标:==了解如何安装pymysql模块?

当要使用Python和MySQL数据库进行交互,需要借助一个第三方模块:pymysql。

在使用pymysql模块前,先进行安装:

pip install pymysql

有时使用pip install xxx命令安装时较慢,若要提升pip下载的速度,可采用命令:

pip install 模块名 [-i 镜像源地址]

比如,在国内的镜像源中,有很多可供使用的源地址:

镜像来源镜像源地址
豆瓣http://pypi.douban.com/simple/
阿里云Simple Index
清华大学Simple Index
中国科技大学Simple Index
华中理工大学http://pypi.hustunique.com/
山东理工大学Loading...

当成功安装pymysql模块后,可直接导入使用:

# 导入模块
import pymysql

例如,一起来完成:

(1)在Python中,使用命令安装pymysql模块;

(2)当成功安装模块后,即可导入并验证是否已成功安装;

==总结:==

(1)当要在Python中安装pymysql模块,可以使用()命令;==A、pip install pymsql==;B、install pymysql;

(2)注意:当要使用pymysql模块时,可以直接导入使用,语法:import pymysql。

pymysql的操作步骤

==目标:==了解pymysql的操作步骤。

在Python中,使用pymysql模块来操作MySQL数据的基本步骤:

对于图解,操作步骤说明:

(1)导入模块;
(2)创建连接对象;
(3)创建游标对象;
(4)使用游标对象执行SQL并进行增删改查;
(5)关闭游标对象;
(6)关闭连接对象。

例如,一起来了解:

(1)操作pymysql模块的基本步骤;

(2)对各个步骤做详细说明。

==详细步骤:==

(1)导入模块;
    导入模块前, 优先安装pymysql模块: pip install pymysql
    import pymysql
    # 使用模块操作MySQL数据库
----------------------------------
(2)创建连接对象;
    db_conn = pymysql.connect()
        # 用户名 root
        # 密码 123456
        # IP地址 127.0.0.1    localhost
        # 端口号 3306
        # 数据库名 班级名_db_xxx
        # 编码格式 utf8   gbk
----------------------------------
(3)创建游标对象;
    db_cursor = db_conn.cursor()
        # 游标获取数据
----------------------------------
(4)使用游标对象执行SQL并进行增删改查;
    db_cursor.execute(xxxx)
        # 增 insert into 表名[(字段1, 字段2, ...)] values(值1, 值2,...)[,(值1, 值2,...),...][;]
        # 删 delete from 表名 [where 条件];
        # 改 update 表名 set 字段1=值1[, 字段2=值2, ...] [where 条件];
        # 查 select *[字段1, 字段2, ...] from 表名 [where 条件];
----------------------------------
(5)关闭游标对象;
    close()
----------------------------------
(6)关闭连接对象。
    close()

==总结:==

(1)当操作完pymysql后,需要对连接、游标等对象资源进行关闭,可以使用()方法;A、exit();==B、close();==

(2)注意:为了便于使用和操作pymysql模块,建议按照操作步骤来进行处理。

connection对象

==目标:==了解connection对象的常用方法。

我们都知道,在使用MySQL数据库前,首先需要登录并进行连接。[命令行、DataGrip]

类似地,在使用pymysql模块时,也需要登录并进行连接,且此时需要使用connection对象。

connection是用于建立与数据库的连接,需要使用pymysql模块来调用:

函数含义
connect(host=None, port=0, user=None, password="", database=None, charset='',...)用于创建Connection连接对象。 ①host:表示连接MySQL的IP地址。若为本机,则可表示成'localhost'或'127.0.0.1';若为其他计算机,则表示为具体IP地址; ②port:表示连接的MySQL的端口号,默认是3306; ③user:表示连接的用户名,默认是root; ④password:表示连接的密码; ⑤database:表示数据库的名称; ⑥charset:表示采用的编码方式,设定为'utf8'即可。

当成功通过connect()获取并得到连接对象后,常用函数:

函数含义
commit()用于事务提交,在进行数据操作时需要进行事务提交后才会生效。
close()用于关闭连接。
cursor()用于返回cursor对象,可使用该对象来执行SQL语句并获取结果。

说明:

(1)使用pymysql模块时,已默认开启了事务,因此要让数据操作生效,则必须要进行事务提交;

(2)为了节约系统内存资源,通常在使用完Connection连接对象后,要进行close()关闭连接。

==总结:==

(1)通常情况下,使用pymysql连接MySQL数据库,需要知道:IP地址、()、用户名、密码;==A、端口号==;B、权限

(2)注意:pymysql模块操作MySQL是默认已经开启了事务。

cursor对象

==目标:==了解cursor对象的常用方法。

若要执行SQL语句时,则需要使用cursor对象,可通过connection对象的cursor()方法进行创建。

函数含义
cursor()用于返回cursor对象,可使用该对象来执行SQL语句并获取结果。

当有了cursor对象后,常用函数:

函数含义
execute(operate [, param])用于执行SQL语句,返回受影响的行数。 其中,参数operate为字符串类型,表示SQL语句; 参数parameters为列表类型,表示SQL语句中的参数。
fetchone()在执行查询语句时,获取查询结果集的第一行数据,返回一个元组,即(v1, v2,...)。
fetchall()在执行查询时,获取结果集的所有行,返回一个元组,即((v11, v12,...), (v21, v22,...),...)。
close()关闭cursor对象。

说明:

(1)使用execute()执行SQL语句时,SQL语句应写成字符串型;

(2)当关闭connection和cursor对象时,记得先关闭cursor游标,后关闭connection连接。

==总结:==

(1)当要使用cursor游标对象来执行SQL语句时,可以使用()方法;A、catch();==B、excute();==

(2)注意:在使用pymysql执行SQL语句时,要使用cursor对象来操作

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iptables(11)target(SNAT、DNAT、MASQUERADE、REDIRECT)

简介 前面我们已经介绍了ACCEPT、DROP、REJECT、LOG,这篇文章我们介绍SNAT、DNAT、MASQUERADE、REDIRECT,这几个参数的定义我们在上篇文章中都有介绍,我这里再列出回顾一下 DNAT(目标地址转换)和 SNAT(源地址转换) 原理:修改数据包的源或目标 IP 地址。通常用于 NAT(…

制造业“智改数转”背景下,产品经理考取NPDP证书的重要性

在“智改数转”(智能化改造和数字化转型)已成为推动制造业高质量发展的关键路径背景下,作为连接市场需求与产品实现的关键角色,产品经理的角色愈发重要。而考取NPDP(新产品开发专业人士认证)证书&#xff0…

VBA 进度条(2)

1.前提 1-1. 在VBA编辑器找到工具-引用-勾选MicroSoft Visual Basic for Applications Extensibility Library 1-2. 信任中心 -> 宏设置 -> 开发人员宏设置 -> 选中“信任对VBA工程对象模型的访问” 2.类模块 Private objApp As Object Private u…

Mysql进阶-索引-使用规则-索引失效情况二(or连接的条件、数据分布影响)

文章目录 1、or连接的条件1.1、展示 tb_user 索引1.2、查询 id10 or age231.3、执行计划 id10 or age231.4、给 age 创建 索引1.4、执行计划 phone17799990004 or age23 2、数据分布影响2.1、查询 tb_user2.2、查询 phone >177999900202.3、执行计划 phone >177999900202…

Java 自定义jackson2序列化器遇到的问题

问题1:java: 错误: 不支持发行版本 5 修改idea java环境 问题2:ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge 缺少 jar 包:jackson-annotations 引入依赖的地址:https://mvnrepository.com/artifact/c…

【深度学习】【Lora训练3】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

为了便于使用,构建一个docker镜像来使用秋叶包。2024年6月26日。 docker run -it --gpus all -v /ssd/xiedong:/datax --net host kevinchina/deeplearning:pytorch2.3.0-cuda12.1-cudnn8-devel-xformers bashgit clone --recurse-submodules https://github.com/A…

如何实现智慧农田的精准灌溉

如何实现智慧农田的精准灌溉 智慧农田的精准灌溉是现代农业技术发展的重要组成部分,它集成了物联网、大数据分析、人工智能以及现代水利技术,旨在通过实时监测土壤湿度、气象条件及作物生长状况,实现水资源的高效利用和作物产量、品质的双重…

学习记录698@基带传输和频带传输基础

还是在学习计算机网络物理层时遇到这些知识点,这里简单的记录一下,主要都是通信专业的知识 基带传输 信源发出的原始信号叫做基带信号,基带信号分为模拟基带信号与数字基带信号。基带信号一般是低频成分,适合在具有低通特性的有…

使用uniapp.pageScrollTo方法进行页面滚动

先看看是不是你想要的: 需求: 有个填写数据的单子在提交的时候,会对必填项做校验,如果必填项没有数据的话,必填项校验生效给出提示,并且页面滚动到第一个需要填写数据的地方。 开发: 因为这个…

flutter是app跨平台最优解吗?

哈喽,我是老刘 最近在知乎上看到这样一个问题 我们先来解释一下问题中碰到的几个现象的可能原因,然后聊聊跨平台的最优解问题 问题解释 1、跟手、丝滑问题 这个问题其实很多人是有误解的,觉得原生的就丝滑跟手 其实不是这样的 我在做Flut…

一键生成AI动画视频?Animatediff 和 ComfyUI 更配哦!

大家好我是极客菌! 之前我分享过 Animatediff 在 WebUI 中的应用,最近不是在分享 ComfyUI 嘛,那我们也来讲讲 Animatediff 在 ComfyUI 的应用。 如果从工作流和内存利用率的角度来说,Animatediff 和 ComfyUI 可能更配一些&#…

Python 语法基础二

7.常用内置函数 执行这个命令可以查看所有内置函数和内置对象(两个下划线) >>>dir(__builtins__) [__class__, __contains__, __delattr__, __delitem__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getitem__, __gt…

API-元素尺寸与位置

学习目标: 掌握元素尺寸与位置 学习内容: 元素尺寸与位置仿京东固定导航栏案例实现bilibili点击小滑块移动效果 元素尺寸与位置: 使用场景: 前面案例滚动多少距离,都是我们自己算的,最好是页面滚动到某个…

【研究】美国2023年就业增长可能是假的?加州已经爆出大雷

美国就业市场可能比火热的非农数据所描绘的场面惨淡得多。 去年以来,美国劳动力市场顶着二十多年来最高的利率一路高歌猛进,让许多市场分析人士开始怀疑数据的准确性。尽管官方报告显示就业形势向好,但越来越多的证据表明,实际情…

校园圈子小程序系统搭建需求和需要哪些功能?APP小程序H5前后端源码交付

功能:小程序授权登陆,支持app双端,小程序,h5,pc端,手机号登陆,发帖,建圈子、发活动。可置顶推荐帖子,关注、粉 丝、点赞等。可作为圈子贴吧、小红书、校园社区、表白墙、…

韩国锂电池工厂火灾:行业安全警钟再次敲响

三天前,6月24日上午,韩国京畿道华城市一电池厂突发火灾,造成严重人员伤亡,其中包括多名中国籍员工。这一事件不仅令人痛心,更为全球锂电池行业安全敲响了警钟。 事发当天,电池厂内堆放锂电池成品的区域突然…

深度神经网络(dnn)--风格迁移(简单易懂)

概括 深度神经网络(DNN)在风格迁移领域的应用,实现了将一幅图像的艺术风格迁移到另一幅图像上的目标。该技术基于深度学习模型,特别是卷积神经网络(CNN),通过提取内容图像的内容特征和风格图像的…

CAD2012 网络许可和单机切换

由于公司使用的CAD2012 是网络租借许可的方式,如果许可有限,使用人数比许可数多,就会出现争抢问题。出现有些人得不到许可(遇到公司不增加许可真的很坑B,因为A抢上了可能C被迫掉了,C上去O可能掉&#xff0c…

Oracle 19C19.3 rac安装并RU升级到19.14

19C支持RU补丁安装。 下载好19.14的RU补丁 [rootrac1 soft]# ll total 9830404 -rw-r--r-- 1 grid oinstall 3059705302 Jun 18 15:26 LINUX.X64_193000_db_home.zip -rw-r--r-- 1 grid oinstall 2889184573 Jun 18 15:27 LINUX.X64_193000_grid_home.zip -rw-r--r-- 1 grid …

2024肥晨赠书活动第三期:《前端工程化:基于Vue.js 3.0的设计与实践》

文章目录 内容简介作者简介关于《前端工程化:基于Vue.js 3.0的设计与实践》文章目录文章简介《前端工程化:基于Vue.js 3.0的设计与实践》全书速览结束语 内容简介 本书以Vue.js的3.0版本为核心技术栈,围绕“前端工程化”和TypeScript的知识点…