当前位置: 首页 > news >正文

PyMySQL库的使用方法

过程和步骤:

安装 PyMySQL

首先,需要使用 pip 安装 PyMySQL 库:

pip install pymysql

连接数据库

使用 PyMySQL.connect() 方法可以建立到 MySQL 数据库的连接:

import pymysql# 配置数据库连接参数
config = {'host': 'localhost',     # 数据库服务器地址'port': 3306,            # 数据库服务器端口'user': 'your_username', # 数据库用户名'password': 'your_password', # 数据库密码'database': 'your_database', # 要操作的数据库名'charset': 'utf8mb4'     # 使用的字符集
}# 建立连接
connection = pymysql.connect(**config)

创建游标对象

游标(Cursor)用于执行 SQL 语句和获取查询结果:

# 创建游标对象
cursor = connection.cursor()

执行 SQL 语句

使用游标的 execute() 方法可以执行 SQL 语句:

# 执行查询语句
cursor.execute("SELECT * FROM your_table")# 获取所有查询结果
results = cursor.fetchall()
for row in results:print(row)# 执行非查询语句(如 INSERT、UPDATE、DELETE)
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (value1, value2)")

提交事务

对于非查询类的 SQL 语句,需要提交事务以确保更改生效:

connection.commit()

错误处理

使用 try...except 语句来处理可能发生的异常:

try:# 尝试执行一些操作pass
except pymysql.MySQLError as e:print(e)connection.rollback()  # 发生错误时回滚事务
finally:cursor.close()  # 关闭游标connection.close()  # 关闭连接

关闭连接

操作完成后,应关闭游标和数据库连接:

cursor.close()
connection.close()

示例代码

下面是一个使用 PyMySQL 执行查询和插入操作的完整示例:

import pymysql# 配置数据库连接参数
config = {'host': 'localhost','port': 3306,'user': 'your_username','password': 'your_password','database': 'your_database','charset': 'utf8mb4'
}# 建立连接
connection = pymysql.connect(**config)try:# 创建游标对象with connection.cursor() as cursor:# 执行查询cursor.execute("SELECT * FROM your_table")print("Query results:", cursor.fetchall())# 执行插入操作cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))# 提交事务connection.commit()except pymysql.MySQLError as e:print("Error: ", e)connection.rollback()
finally:# 关闭连接connection.close()

请注意,上述示例中的 'your_username', 'your_password', 'your_database''your_table' 需要替换为实际的数据库登录信息和表名。

相关文章:

PyMySQL库的使用方法

过程和步骤: 安装 PyMySQL 首先,需要使用 pip 安装 PyMySQL 库: pip install pymysql连接数据库 使用 PyMySQL.connect() 方法可以建立到 MySQL 数据库的连接: import pymysql# 配置数据库连接参数 config {host: localhost…...

iOS 创建一个私有的 CocoaPods 库

创建一个私有的 CocoaPods 库(pod)涉及几个步骤,包括设置私有的 Git 仓库、创建 Podspec 文件、发布到私有仓库等等。以下是详细步骤: 设置私有 Git 仓库 首先,在 GitHub、GitLab 或 Bitbucket 上创建一个新的私有仓库…...

Linux_实现UDP网络通信

目录 1、实现服务器的逻辑 1.1 socket 1.2 bind 1.3 recvfrom 1.4 sendto 1.5 服务器代码 2、实现客户端的逻辑 2.1 客户端代码 3、实现通信 结语 前言: 在Linux下,实现传输层协议为UDP的套接字进行网络通信,网络层协议为IPv4&am…...

C# 代理模式

栏目总目录 概念 代理模式是一种结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。在代理模式中,我们创建一个具有现有对象(称为“真实对象”或“被代理对象”)相同功能的代理对象。代理对象可以在客户端和目标对…...

【1】Python机器学习之基础概念

1、什么是机器学习 最早的机器学习应用——垃圾邮件分辨 传统的计算机解决问题思路: 编写规则,定义“垃圾邮件”,让计算机执行对于很多问题,规则很难定义规则不断变化 机器学习在图像识别领域的重要应用: 人脸识别…...

HashMap源码解析

目录 一:put方法流程 二:get方法 三:扩容机制 一:put方法流程 public V put(K key, V value) {return putVal(hash(key), key, value, false, true); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {No…...

[Javascript】前端面试基础3【每日学习并更新10】

Web开发中会话跟踪的方法有那些 cookiesessionurl重写隐藏inputip地址 JS基本数据类型 String:用于表示文本数据。Number:用于表示数值,包括整数和浮点数。BigInt:用于表示任意精度的整数。Boolean:用于表示逻辑值…...

C++自定义字典树结构

代码 #include <iostream> using namespace std;class TrieNode { public:char data;TrieNode* children[26];bool isTerminal;TrieNode(char ch){data ch;for (int i 0; i < 26; i){children[i] NULL;}isTerminal false;} }; class Trie { public:TrieNode* ro…...

dockerfile部署wordpress

1.将容器直接提交成镜像 [rootlocalhost ~]# docker commit 8ecc7f6b9c12 nginx:1.1 sha256:9a2bb94ba6d8d952527df616febf3fbc8f842b3b9e28b7011b50c743cd7b233b [rootlocalhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx …...

CSS(二)——CSS 背景

CSS 背景 CSS 背景属性用于定义HTML元素的背景。 CSS 背景属性 Property描述background简写属性&#xff0c;作用是将背景属性设置在一个声明中。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-color设置元素的背景颜色。background-image把…...

开机出现grub无法进入系统_电脑开机出现grub解决方法

最近有小伙伴问我电脑开机出现grub无法进入系统怎么回事&#xff1f;电脑开机出grub的情况有很多&#xff0c;电脑上安装了Linux和Win10双系统&#xff0c;但是由于格式化删除了Linux之后&#xff0c;结果win10开机了之后&#xff0c;直接显示grub&#xff1e;&#xff0c;无法…...

uboot 设置bootargs配置内核网络挂载根文件系统

uboot 设置bootargs配置内核网络挂载根文件系统 uboot设置bootargs env set bootargs "mem256M consolettyAMA0,115200 root/dev/nfs init/linuxrc nfsrootnfs主机地址:nfs路径/busybox/rootfs_glibc_arm64,prototcp rw nfsvers3 rootwait ip板子地址:nfs主机地址:网关:2…...

Vue3+.NET6前后端分离式管理后台实战(三十一)

1&#xff0c;Vue3.NET6前后端分离式管理后台实战(三十一)...

22集 如何minimax密钥和groupid-《MCU嵌入式AI开发笔记》

22集 如何获取minimax密钥和groupid-《MCU嵌入式AI开发笔记》 minimax密钥获取 https://www.minimaxi.com/platform 进入minimax网站&#xff0c;注册登录后&#xff0c;进入“账户管理”&#xff0c; 然后再点击“接口密钥”&#xff0c;然后再点击“创建新的密钥”。 之…...

决策树的概念

决策树的概念 决策树是一种监督学习算法&#xff0c;主要用于分类任务。它通过构建一棵树结构模型来进行预测&#xff0c;其中每个内部节点表示一个特征属性上的判断条件&#xff0c;每条边代表一个判断结果对应的分支&#xff0c;而叶节点则代表最终的类别标签。 应用领域 …...

C++《类和对象》(中)

一、 类的默认成员函数介绍二、构造函数 构造函数名与类同名内置类型与自定义类型析构函数拷贝构造函数 C《类和对象》(中) 一、 类的默认成员函数介绍 默认成员函数就是⽤⼾没有显式实现&#xff0c;编译器会⾃动⽣成的成员函数称为默认成员函数。 那么我们主要学习的是1&…...

SpringBoot中JSR303校验

JSR是 Java EE 的一种标准&#xff0c;用于基于注解的对象数据验证。在Spring Boot应用中&#xff0c;你可以通过添加注解直接在POJO类中声明验证规则。这样可以确保在使用这些对象进行操作之前&#xff0c;它们满足业务规则。个人认为非常有用的&#xff0c;因为它减少了代码中…...

图像数据增强方法概述

图像数据增强方法概述 1. 什么是图像数据增强技术?2. 图像数据增强技术分类2.1 几何变换Python 示例代码 2.2 颜色变换2.3 噪声添加 3. 参考文献 1. 什么是图像数据增强技术? 基础概念&#xff1a;图像增强技术是计算机视觉和图像处理领域中的一个关键技术&#xff0c;主要用…...

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(五)-无人机跟踪

目录 引言 5.3 无人机跟踪 5.3.1 无人机跟踪模型 5.3.2 无人机位置报告流程 5.3.3 无人机存在监测流程 引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everyth…...

分享从零开始学习网络设备配置--任务6.1 实现计算机的安全接入

项目描述 随着网络技术的发展和应用范围的不断扩大&#xff0c;网络已经成为人们日常生活中必不可少的一部分。园区网作为给终端用户提供网络接入和基础服务的应用环境&#xff0c;其存在的网络安全隐患不断显现出来&#xff0c;如非人为的或自然力造成的故障、事故&#xff1b…...

2026长沙GEO优化公司权威实测:基于稳定性与转化效率的TOP5服务商深度推荐

2026长沙GEO优化公司权威实测&#xff1a;基于稳定性与转化效率的TOP5服务商深度推荐2026年&#xff0c;生成式AI搜索已深度重塑商业决策与品牌获客的路径。在全国GEO&#xff08;生成式引擎优化&#xff09;的版图中&#xff0c;长沙凭借活跃的数字经济生态与扎实的产业基础&a…...

dy自动化采集数据滑动验证码绕过实战指南

1. 理解dy滑动验证码的运作机制 当你用脚本快速刷dy视频时&#xff0c;经常会遇到那个烦人的滑块验证码。这其实是平台防止机器人滥用的重要防线。我刚开始做自动化采集时&#xff0c;每次遇到这个滑块都会头皮发麻——程序卡住不动&#xff0c;数据采集被迫中断。后来经过反复…...

别再只用NodePort了!手把手教你用MetalLB在本地K8s集群实现LoadBalancer服务暴露

突破本地Kubernetes限制&#xff1a;MetalLB实现LoadBalancer全实战指南 当你第一次在本地Minikube或自建Kubernetes集群中尝试创建LoadBalancer类型的Service时&#xff0c;那个永恒的"Pending"状态是否让你感到困惑&#xff1f;云厂商提供的LoadBalancer服务在本地…...

COMSOL多场耦合地应力平衡开挖与衬砌支护案例:带衬砌与钢衬支护的实践研究

COMSOL 地应力平衡后开挖及衬砌支护案例&#xff08;带衬砌、钢衬&#xff09;隧道开挖模拟最头疼的就是初始地应力场的平衡问题。前些天用COMSOL折腾了个带衬砌支护的案例&#xff0c;今天把关键步骤拆开说说。咱们直接从地应力平衡开始&#xff0c;到开挖后钢衬安装一气呵成。…...

2026届最火的五大降AI率助手推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 减低AIGC检测率要从多方面入手&#xff0c;首先&#xff0c;调整句式结构&#xff0c;避开过…...

Gitee:中国DevOps生态的数字化转型引擎

本土化创新重塑开发者体验在中国数字经济蓬勃发展的背景下&#xff0c;Gitee作为国产代码托管平台的代表&#xff0c;正在重新定义中国开发者的工作方式。不同于国际平台在中国市场的适应性局限&#xff0c;Gitee通过深度理解本土开发者的工作习惯和业务场景&#xff0c;构建了…...

4大技术引擎破解魔兽争霸3现代适配难题

4大技术引擎破解魔兽争霸3现代适配难题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当经典RTS游戏遇上现代硬件环境&#xff0c;总会面临兼容性的严…...

Qwen3.5-2B保姆级教程:20亿参数模型端侧部署与图文对话实操

Qwen3.5-2B保姆级教程&#xff1a;20亿参数模型端侧部署与图文对话实操 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型&#xff0c;属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为低功耗、低门槛部署场景设计&#xff0c;特别适合在端侧和边缘设备上运行…...

从仿真到实战:如何将你的MATLAB机械臂轨迹规划代码(3-5-3插值)部署到ROS或Simulink?

从仿真到实战&#xff1a;MATLAB机械臂轨迹规划代码的ROS与Simulink部署指南 当你完成了MATLAB中机械臂轨迹规划的算法开发&#xff0c;看着屏幕上平滑的位置、速度和加速度曲线&#xff0c;接下来面临的核心问题是如何将这些数据转化为真实机械臂的动作。本文将深入探讨两种主…...

安全测试入门:开发与测试都需要知道的OWASP TOP 10

为何OWASP TOP 10是测试人员的必修课&#xff1f;在数字化浪潮席卷全球的今天&#xff0c;软件已深度融入商业运营与社会生活。每一次点击、每一次数据交换的背后&#xff0c;都潜藏着安全风险。对于软件测试从业者而言&#xff0c;功能与性能测试仅是基础&#xff0c;安全测试…...