python中pymysql操作mysql

Python PyMySQL操作MySQL数据库 Python PyMySQL操作MySQL数据库从连接到删库 这里主要介绍python 3中PyMySQL操作MySQL数据库的方法 准备工作 在开始之前: ①确保已经安装好了MySQL数据库并保证能正常运行, 这里我就不多说了, 不会的话自行百度 ②确保安装好PyMySQL库 推荐pip安装: pip install pymsql 一、连接数据库: # 导入pymysql import pym... 阅读详情

使用python操作mysql

使用python操作mysql,一般使用模块pymysql
终端执行下代码下载pymysql模块

pip install pymysql

对于pymysql模块的使用比较简单易学,主要存在几个关键函数,掌握就与此模块并无其他关联,主要是SQL语句的编写。
我的数据库存在这么一组数据

sidstudent_idcourse_idnumber
42387
83348
121248
131359
142198
153168

下面看代码:

import pymysql

# 创建连接 固定格式,需要连接数据库的所有信息
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='9999',db='gao')
# 创建游标 何为游标?就是一个准备对数据库进行你想要的操作的对象
cursor = conn.cursor()

# 此处为重点,对于指定表中一个字段进行处理时,前面是处理的SQL语句,后面跟一个参数即可
r=cursor.execute('insert into score(number) values(%s,%s,%s)',69)
# 对于同一个表中多个字段进行处理时,前面SQL语句任相同,后面的传入参数使用元组以此填充
r=cursor.execute('insert into score(student_id,course_id,number) values(%s,%s,%s)',(1,2,69))
# 1次对于同一个表中多个字段进行多次处理时,前面SQL语句任相同,后面的传入参数使用元组包裹元组或列表包裹元组以此填充 等同于SQL语句中的values(),(),()
# 注意 多次处理使用的函数不同于单次 多次处理使用executemany,单次处理使用execute
l = [
	(1,2,69),
	(1,3,99),
	(2,1,45),
]
r=cursor.executemany('insert into score(student_id,course_id,number) values(%s,%s,%s)',l)

# 返回的值是处理受影响的行数
print(r) # 此处是 1+1+3 5

# 确认提交,没有默认不执行游标进行的操作
conn.commit()
# 关闭游标
cursor.close()
# 关闭数据库连接
conn.close()


上述语句无法获取到查询的内容,故继续看代码:

import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='9999',db='gao')

cursor = conn.cursor()

r=cursor.execute('select * from score')
print(r) # 返回查询内容中的影响到的行数 6

# 以此函数获取到所有返回的内容 返回是元组形式
result = cursor.fetchall()  
print(result) # ((4, 2, 3, 87), (8, 3, 3, 48), (12, 1, 2, 48), (13, 1, 3, 59), (14, 2, 1, 98), (15, 3, 1, 68))

# 以此函数获取到第一条返回的内容 返回是元组形式
# fetchone 相当于一个指针,当重复执行时,会依次往下执行
result = cursor.fetchone() 
print(result) # (4, 2, 3, 87)

# 以此函数获取到第设置值条返回的内容 返回是元组形式
# 注意此处当设置值多与总行数时,不报错,按实际行数返回
result= cursor.fetchmany(7)
print(result) # ((4, 2, 3, 87), (8, 3, 3, 48), (12, 1, 2, 48), (13, 1, 3, 59), (14, 2, 1, 98), (15, 3, 1, 68))


conn.commit()

cursor.close()
conn.close()


上面说到,fetchone 相当于一个指针,当重复执行时,会依次往下执行,故我们是否同样可以对指针位置进行操作:

import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='9999',db='gao')

cursor = conn.cursor()

r=cursor.execute('select * from score')
print(r) # 返回查询内容中的影响到的行数 6

result = cursor.fetchone()
print(result) # (4, 2, 3, 87)
result = cursor.fetchone()
print(result) # (8, 3, 3, 48)
result = cursor.fetchone()
print(result) # (12, 1, 2, 48)
# 依次拿去内容

# 此处改变指针位置
cursor.scroll(0,mode='absolute') # 换到总数据的第0行
result = cursor.fetchone()
print(result) # (4, 2, 3, 87)
result = cursor.fetchone()
print(result) # (8, 3, 3, 48)
# 回到指定位置后,依次拿去内容

# 上位绝对定位方式切换指针 当然存在相对定位方式切换
cursor.scroll(-1,mode='relative') # -1:从现在位置向上一个 1:从现在位置向下一个
result = cursor.fetchone()
print(result) # (8, 3, 3, 48)
result = cursor.fetchone()
print(result) # (12, 1, 2, 48)
result = cursor.fetchone()
print(result) # (13, 1, 3, 59)
# 回到指定位置后,依次拿去内容


conn.commit()
cursor.close()
conn.close()

上述内容中返回的内容均为元组,这样对刚进行数据处理时的人拿到此数据,比较难以对应,故,pymysql也引入了字典形式,同时返回字段名与内容:

import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='9999',db='gao')

# 给游标函数里赋值,改变返回内容的类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

r=cursor.execute('select * from score')
print(r) # 返回查询内容中的影响到的行数 6

result = cursor.fetchall()
print(result) # [{'sid': 4, 'student_id': 2, 'course_id': 3, 'number': 87}, {'sid': 8, 'student_id': 3, 'course_id': 3, 'number': 48}, {'sid': 12, 'student_id': 1, 'course_id': 2, 'number': 48}, {'sid': 13, 'student_id': 1, 'course_id': 3, 'number': 59}, {'sid': 14, 'student_id': 2, 'course_id': 1, 'number': 98}, {'sid': 15, 'student_id': 3, 'course_id': 1, 'number': 68}]
# 这里的字段内容(即字典的key值),同样支持SQL语句中的别名,或指定字段内容等功能




conn.commit()
cursor.close()
conn.close()

当执行一次新增数据时,有时表中具有新增字段,但新增字段不用自己创建,如果有需求获取时,是不用再次查询,可以通过pymysql直接获取的:
原数据库内容

tidtanme
1波多
2苍空
3饭岛
4苍哈
import pymysql

conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='9999',db='gao')

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

r=cursor.execute('insert into teacher(tname) values("饭岛爱")')
print(r) # 1
tid = cursor.lastrowid # 注意 此函数只能获取到最后一次处理的自增id 前面包含多次处理,也只回复最后一次
print(tid) # 5

conn.commit()
cursor.close()
conn.close()

Python系列:操作MySQL详解——PyMySQL Python操作MySQL详解——PyMySQL 阅读详情

相关推荐

Python3中操作MySQL的PyMySQL实践指南

欢迎来到本系列的IT博客文章,我们将一起探索如何利用Python来高效地处理数据库操作。在本章节中,我们将初步介绍PyMySQL,一个在Python中实现与MySQL数据库交互的库。我们将从PyMySQL的定义开始,探讨其特点,并对比传统数据库连接方式。PyMySQL是Python中的一个库,它提供了一个纯Python实现的MySQL客户端协议,允许开发者通过Python脚本直接操作MySQL数据库。其主要目的是为了在Python代码中嵌入SQL语句,方便地进行数据的插入、查询、更新和删除操作。

weixin_30600615的博客 897

Python中PyMySQL的使用

Python中PyMySQL的使用 1.Python程序操作MySQL数据库 安装pymysql第三方包: sudo pip3 install pymysql 说明: 安装命令使用 sudo pip3 install 第三方包名 卸载命令使用 sudo pip3 uninstall 第三方包 可以使用: pip3 show pymysql 命令查看第三方包的信息 pip3 list 查看使用pip命令安装的第三方包列表 pymysql的使用: 1.导入 pymysql 包 import pymysql

li944254211的博客 994

WinInet 编程:MFC 中的互联网编程

WinInet 是一套 Windows API(应用程序编程接口),用于实现互联网应用程序的网络通信和数据传输。WinInet 抽象了底层网络协议和硬件细节,为程序员提供了一套统一的接口,简化了互联网应用程序的开发过程。WinInet 广泛应用于各种 Windows 应用程序中,包括网页浏览器、下载管理器、网络游戏等。MFC WinInet 是一套强大的类库,为 MFC 程序员提供了在 Windows 平台上实现互联网通信和数据传输的工具。

JAZJD的博客 1638

Python数据库编程之pymysql详解

文章目录前言一、pymsql的安装二、连接数据库三、创建和管理数据库四、创建和管理表 前言 学习之前务必安装MySQL并已启动相关服务,MySQL安装方法及查看初始密码见文章第一部分: https://blog.youkuaiyun.com/youngwyj/article/details/124293362?spm=1001.2014.3001.5502 一、pymsql的安装 在python3的环境中直接使用以下命令即可: pip install pymsql #或者 pip3 install pymysq

youngwyj的博客 4万+

基于PID的定速巡航控制系统设计【MATLAB源码+Word文档】

本文详细介绍了定速巡航控制是一种车辆驾驶辅助系统,它能让驾驶者在高速或长途驾驶时,设定一个固定的车速,然后车辆会自动维持这个速度行驶,无需驾驶者持续踩油门。这大大减轻了驾驶者的疲劳,同时也提高了行驶的安全性。PID定速巡航控制系统是一种利用比例(Proportional)、积分(Integral)和微分(Derivative)控制算法来实现车辆定速巡航的先进系统。这种系统能够根据设定的速度,自动调整油门开度或制动力度,使车辆保持恒定的速度行驶。这种控制系统具有响应速度快、控制精度高、稳定性好等优点。

weixin_761237174的博客 1670

创建可视化机房

(3)窗户位置创建好以后需要对窗户的墙面镂空位置进行修补,具体操作为,选中镂空位置的顶点(这里必须是选择一个平面的顶点,不要跨平面选择),实际操作如下图:选择点以后,鼠标右键,选择【从顶点创建边/面】,或者按F键,随后对其他镂空位置进行相同操作;(2)将【物体模式】修改为【编辑模式】,选中-x对应面的所有顶点,移动顶点位置,其他放小调整按照同理,找到选中对应面的所有顶点,移动位置即可;调整动画事件轴上的线,选中关键帧的时间,调整模型的位置或者旋转角度,具体根据插入关键帧菜单选择的项进行模型的相关调整。

SmileBu丿㦌的博客 2068

Python 解析pymysql模块操作数据库

Python 解析pymysql模块操作数据库 pymysql 是 python 用来操作MySQL的第三方库,下面具体介绍和使用该库的基本方法。 1.建立数据库连接 通过 connect 函数中 parameter 参数 建立连接,连接成功返回Connection对象 import pymysql #建立数据库连接 connection = pymysql.connect(host = 'lo...

cc的博客 3848

手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理

《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。

MHD0815的博客 739

Python操作mysql库【PyMysql】

PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,允许 Python 开发者使用 Python 代码操作 MySQL 数据库。它旨在完全兼容 MySQLdb,这意味着它尝试以一种对用户来说尽可能透明和一致的方式模拟 MySQLdb 的API和行为。

weixin_63304209的博客 1116

YOLOv12改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度(二次改进A2C2f)

本文记录的是利用改进检测精度,详细说明了优化原因,注意事项等。原论文在红外小目标检测任务中,小目标在多次下采样操作中容易丢失关键信息。通过替代编码器和解码器基本组件中的传统卷积操作,更好地保留小目标的重要信息。HCF-Net: Hierarchical Context Fusion Network for Infrared Small Object Detection采用多分支特征提取策略,通过不同分支提取不同尺度和层次的特征。利用局部、全局和串行卷积分支,对输入特征张量进行处理。通过控制 patch si

Limiiiing的博客 1888

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 463

Python 操作Mysql(PyMysql)

Python 操作Mysql(PyMysql)

Charge8的博客 4702

手把手教你学Simulink——基于Simulink的PMSM MTPA + FW 全速域平滑切换策略

本文提出一种基于Simulink的PMSM全速域平滑切换控制策略,通过融合MTPA和弱磁控制(FW)实现基速附近的无冲击过渡。在过渡区采用加权融合电流给定方法,使电流超调<5%、转速波动<2%,全速域效率>90%。文章详细介绍了系统架构、核心算法及Simulink建模步骤,包括融合控制器设计、切换逻辑实现和参数优化。仿真结果表明,该方法相比传统硬切换显著改善了动态性能,并扩展了调速范围。同时提供了可直接复用的工程模板和MATLAB代码,为电机控制工程师提供了实用的全速域控制解决方案。

MHD0815的博客 80

【Python】Python操作MySQL详解——PyMySQL

PyMySQL模块简介 纯Python实现的模块,可以与Python代码兼容衔接,并也几乎兼容MySQL-python。遵循 Python 数据库 API v2.0 规范。安装PyMySQL需要满足以下需求。

会飞的大象 1万+

【软件测试】人工智能(AI)在软件测试领域的应用

AI在软件测试领域的应用使测试过程更加自动化、高效和智能。它可以帮助测试团队减轻负担,更快地识别和修复问题,最终提高软件的质量和可靠性。随着AI技术的不断进步,未来AI在软件测试领域的应用将更加广泛和深入。

weixin_46453070的博客 4385

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python propresql mysql_python操作mysql之pymysql

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:2.7.11。mysql版本:5.6.24一、安装pip3 install pymysql二、使用操作1、执行SQL#!/usr/bin/env pytho#-*- coding:utf-8 -*-import pymys...

weixin_39710951的博客 144

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python操作MySQL之pymysql

PyMySQL 是一个用于连接 MySQL 数据库的 Python 库。Python操作mysql数据有好向个第三方模块,比较出名的是PyMySQL和mysql-connector-python,用法差不多。

qq_32021001的博客 178

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python3利用pymysql操作 MySQL

Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 pymysql 连接数据库,并实现简单的增删改查。 什么是 pymysql? pymysql 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 pymysql遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MyS...

猫猫的星辰大海 6654

学习总结:用 PyMySQL 在 Python 中操作 MySQL 数据库

sql = "select * from students" cursor.execute(sql) print(cursor.fetchall()) # 打印所有结果。PyMySQL 是 Python3 中连接 MySQL 数据库的工具,能让我们用代码操作数据库,比如存爬虫爬来的数据。连数据库:pymysql.connect(主机, 用户名, 密码, 数据库名...)cursor.execute(sql, ("001", "小明", 20))执行 SQL:cursor.execute("SQL语句")

2301_78439434的博客 984

Python 深入浅出 - PyMySQL 操作 MySQL 数据库

不知不觉 2017 就已经结束了,2018 元旦快乐。回顾 2017 ,真是碌碌无为;希望 2018 勿忘初心,好好努力,早日实现新年愿望: 提升自身技术,坚持把 Java 后端技术学好; 轻松购买 MBP,而不会觉得价格贵; 努力赚钱,买车; 妹子; 祝自己好运~~~~Python 的数据库接口标准时 Python DB-API,大多数 Python 数据库接口都遵循这个标准。为了兼

Star的博客 2114

Python使用PyMySQL操作MySQL完整指南

【代码】Python使用PyMySQL操作MySQL完整指南。

大白菜代码的博客 2266

python操作pymysql_Python 操作 MySQL(pymysql)

pymysqlpymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。1、下载安装pip3 install pymysql2、执行SQL执行SQL语句的基本语法:需要注意的是:创建连接后,都由游标来进行与数据库的操作,因而获取数据也需要游标。#!/usr/bin/env python#-*- coding:utf-8 -*-__author__ = 'wyf'impo...

weixin_39639286的博客 134

python propresql mysql_Python中操作mysql的pymysql模块详解

PyMySQL是一个Python编写的MySQL驱动程序,让我们可以用Python语言操作MySQL数据库。首先,使用pip安装PyMySQL。pip install PyMySQL使用PyMySQL简单使用如果有JDBC等其他语言的数据库学习经验的话,使用PyMySQL非常简单。下面是一个完整的MySQL增删查(没有改)的例子。import pymysqlimport datetimehost ...

weixin_39998462的博客 97

python怎么安装pymysql_Python中操作mysql的pymysql模块详解

前言pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:2.7.11。mysql版本:5.6.24一、安装pip3 install pymysql二、使用操作1、执行SQL#!/usr/bin/env pytho# -*- coding:utf-8 -*-import py...

weixin_39634876的博客 580

PyMysql 快速入门——Python 操作 MySQL 数据库的利器

通过本文,你可以了解道 PyMySQL 的基本使用方法,包括连接数据库、执行增删改查操作等。总之,PyMySQL 是一个功能强大且易于使用的工具,适合各种规模的 Python 项目。

飞跃大海的猪 854

用Python操作MySQL(pymysql)

用python来操作MySQL,首先需要安装PyMySQL库(pip install pymysql)。 连接MySQL: import pymysql connect=pymysql.connect(host='localhost',user='root',password='xxxx',port=3306) 注:此时还未创建数据库,如已创建数据库,在连接时需再加...

weixin_30732825的博客 165
上一篇: 有关MySQL的简单应用
下一篇: 初识Django
gqf960708
博客等级 码龄9年 5粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值