Python如何连接Mysql及基本操作

news/2024/4/26 6:22:10/文章来源:https://blog.csdn.net/Python_222/article/details/130366422

1.什么要做python连接mysql,一般是解决什么问题的

做自动化测试时候,注册了一个新用户,产生了多余的数据,下次同一个账号就无法注册了,这种情况怎么办呢?自动化测试都有数据准备和数据清理的操作,如果因此用例产生了多余数据,就需要清理数据,可以用Pyhthon连接Mysql直接删除多余的数据就可以了。

Python3如何连接Mysql呢?PyMySQL是在Py3版本用于连接Mysql

2.python连接mysql的模块安装

在线安装

pip install PyMySQL

在Pycharm—点击–Terminal—输入pip install PyMySQL等待完装完毕即可,如图所示
在这里插入图片描述

离线安装

有时候在线安装第三方模块的时,会因为网络原因总是装不上,那怎么办呢?那就手动安装

1.下载所需要的模块包
在这里插入图片描述
2.解压该文件
在这里插入图片描述

3.将文件名改短,然后放入非C盘且放在根目录

4.打开cmd---->E:---->cd xlrd---->python setup.py install

5.等待完装完毕

6.导入模块 import xlrd,运行如果没报错就说明安装正常

3.连接MySql

import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()print("Database version : %s " % data)# 关闭数据库连接
db.close()

4.数据库基本操作

增加数据

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (1,2,3, ...);

其中 [ ] 内的内容是可选的, 例如, 要给study_date数据库中的 studys 表插入一条记录, 执行语句:

import pymysql# 打开数据库连接db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用cursor()方法获取操作游标cursor = db.cursor()insert_sql = # 执行sql语句cursor.execute("insert into studys(id, name, age) values(3, '骑着乌龟赶猪', 35)") # 提交到数据库执行 db.commit() cursor.execute("select * from studys")# 查看表里所有数据 data = cursor.fetchall() print(data) # 关闭数据库连接 db.close()

再运行一次上以代码,运行后报错,两个重要错误信息

1、错误在哪一行
在这里插入图片描述
2、这个错误原因
在这里插入图片描述
为防止插入数据时出现异常,所以加上try…except

 import pymysql# 打开数据库连接db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用cursor()方法获取操作游标cursor = db.cursor()insert_sql = "insert into studys(id, name, age) values(3, '骑着乌龟赶猪', 35)"try:# 执行sql语句cursor.execute(insert_sql)# 提交到数据库执行db.commit()cursor.execute("select * from studys")# 查看表里所有数据data = cursor.fetchall()print(data)except:print("数据插入失败,请查检try语句里的代码")# 关闭数据库连接# 如果想知道报了啥错,可以主动抛出异常# raise db.close()

5.删除数据

delete 语句用于删除表中的数据

delete from 表名称 where 删除条件;

import pymysql# 打开数据库连接
db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用cursor()方法获取操作游标
cursor = db.cursor()
check_sql = 'select * from studys'
# SQL 删除数据
del_sql = "delete from studys where id=3"
try:# 执行sql语句cursor.execute(del_sql)# 提交到数据库执行db.commit()cursor.execute(check_sql)# 查看表里所有数据data = cursor.fetchall()print(data)
except:# 如果发生错误则回滚db.rollback()# 关闭数据库连接
db.close()

6.修改数据

update 语句可用来修改表中的数据

update 表名称 set 列名称=新值 where 更新条件;

import pymysql# 打开数据库连接
db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用cursor()方法获取操作游标
cursor = db.cursor()check_sql = 'select * from studys'
# SQL 修改数据
updata_sql = "update studys set age=30 where id=2"
try:# 执行sql语句cursor.execute(updata_sql)# 提交到数据库执行db.commit()cursor.execute(check_sql)# 查看表里所有数据data = cursor.fetchall()print(data)
except:# 如果发生错误则回滚db.rollback()# 关闭数据库连接
db.close()

7.查询数据

查询单条数据

语法:

fetchone()

例如要查询 students 表中所有学生的名字和年龄, 输入语句

select name, age from studys

fetchone()获取一行数据

 # 导入模块import pymysql# 打开数据库连接     数据库地址db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute()方法执行 SQL 查询# 通配符,意思是查询表里所有内容cursor.execute("select * from studys")#Python小白学习交流群:711312441	 # 使用 fetchone() 方法获取一行数据.data = cursor.fetchone()print(data)# 关闭数据库连接db.close()

查询多条数据

fetchall()获取所有数据

 # 导入模块,固定写法import pymysql# 打开数据库连接     数据库地址db = pymysql.connect("localhost", "root", "111223", "study_date")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute()  方法执行 SQL 查询cursor.execute("select * from studys")# 使用 fetchall() 方法获取所有数据.以元组形式返回data = cursor.fetchall()print(data)# 关闭数据库连接db.close()

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

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

相关文章

代码在洛谷上跑得慢怎么办?

前言 你有没有试过以下几种情况: 代码在别的OJ上能过,在洛谷上就T了你的代码和同学的几乎相同,但他的AC了,你的却TLE了 遇到这些情况,你可能要花上一个多小时才能解决,甚至难以解决,将问题一…

C. Magic Ship(二分 + 前缀和)

Problem - C - Codeforces 你是一艘船的船长。最初你站在一个点(x1,y1)上(很明显,海上的所有位置都可以用笛卡尔平面描述),你想要前往一个点(x2,y2)。 你知道天气预报——长度为n的字符串s,仅由…

对于程序员来说,搜索有多重要?

2023年4月24日,周一晚上。 今天我用Bing(必应)很快就搜索到了我需要的关于MFC的某个内容, 而我在百度和CSDN搜了好几天都没搜到, 当然,我认为这不仅仅是搜索引擎的问题,也可能是我搜索时输入…

SqlServer2022安装与配置_并用Navicat连接SqlServer---sqlserver工作笔记0001

首先去下载 SQL Server 下载 | Microsoft https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 首先去下载安装包,这里我们下最新的 下载这个免费版的 可以看到下面有个全功能免费版本下载他 然后点击安装 下载以后安装 选择自定义 然后安装

改善内部客户服务的 3 个技巧

在当今世界,许多公司都专注于改善客户关系管理,公司管理层面临的挑战是他们不仅拥有外部客户,员工也是有痛点和需求的内部客户。正如糟糕的客户服务会导致客户流失一样,糟糕的内部客户服务会增加员工流动率。在当今瞬息万变的就业…

SpringBoot 使用 Sa-Token 完成权限认证

一、设计思路 所谓权限认证,核心逻辑就是判断一个账号是否拥有指定权限: 有,就让你通过。没有?那么禁止访问! 深入到底层数据中,就是每个账号都会拥有一个权限码集合,框架来校验这个集合中是…

2023年五月份图形化一级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

基于GEE平台的植被覆盖度(FVC)像元二分法计算

一、植被覆盖度计算方法 植被覆盖度FVC(Fractional Vegetation Cover)定义为单位面积内绿色植被冠层垂直投影面积所占比例。FVC是衡量地表植被状况的重要指标之一,也是区域生态系统环境变化的重要指示,对水文、生态、区域变化等都…

JUC概述

1. JUC是什么? 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或…

【Daily Share】没有域名怎么破?手把手教你如何通过hosts配置域名(假域名)

目录 ❌前言📄hosts文件🦉DNS解析步骤👌配置伪域名第一步 修改本机hosts配置第二步 配置服务器nginx 🔃流程图 ❌前言 ip记不住??? 域名不想买??? 每次当我…

操作指南|如何创建x-chain DAO

DAO是一个去中心化组织,大体与任何其他组织一样,但它是由智能合约中编码的规则所管理,并使DApps等能够完全去中心化且自主运行。 📄 查看MoonbeamDocs 这与通常的分步教程不同,该推文旨在分享关于运行去中心化自治组…

【剑指offer】(2)

系列文章目录 剑指offer系列是一本非常著名的面试题目集,旨在帮助求职者提升编程能力和应对面试的能力。 文章目录 系列文章目录[TOC](文章目录) 前言一、 用两个栈实现队列🔥 思路🌈代码 二、青蛙跳台阶问题🔥 思路&#x1f308…

ArcGIS Pro、Python、USLE、INVEST模型等多技术融合的生态系统服务构建生态安全格局

第一章、生态安全评价理论及方法介绍 一、生态安全评价简介 ​ 二、生态服务能力简介 ​ 三、生态安全格局构建研究方法简介 ​ 第二章、平台基础一、ArcGIS Pro介绍1. ArcGIS Pro简介2. ArcGIS Pro基础3. ArcGIS Pro数据编辑4. ArcGIS Pro空间分析5. 模型构建器6. ArcGIS Pro…

论文综述——DORE: Document Ordered Relation Extraction based on Generative Framework

DORE: Document Ordered Relation Extraction based on Generative Framework 文章的主要目标是对文档级的关系抽取。以往的研究主要是基于分类的研究,生成式关系抽取研究较少而且性能不佳。 文档级相比于句子级的关系抽取存在序列长度过长,以及实体定位…

Python base64模块加密解密

一、为何使用base64加密解密 为了安全机制的系统,在用户登录的时候,会采用一系列措施保护用户信息,防止程序被攻击,比如:将用户输入的密码加密处理,在控制台看请求接口看到的密码是加密过的密码&#xff0c…

EventBus源码解析

文章目录 前言一、EventBus使用二、EventBus事件流程分析1.注册订阅者2.发布事件Event3.接收事件Event4.取消注册订阅者 三、发送粘性事件问答EventBus 以及它的优点EventBus原理 EventBus中设计模式为什么要使用 EventBus 来替代广播呢?说下 5 种线程模式的区别Eve…

node(express框架)连接mysql 基础篇

文章目录 电脑安装mysql配置mysql连接mysql 创建表 创建node文件启动node node 连接数据库连接数据库 电脑安装mysql 由于我的是mac 我就安装mac版本的 mysql 如已安装跳过此步骤 mysql官网选择版本安装配置 这里注意选择下面的 next输入mysql密码 点击finish 配置mysql 打…

【EasyPoi实战系列】Spring Boot使用EasyPoi的注解让表格更漂亮以及图片的导出 - 第468篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【…

行业分析| 视频监控——AI自动巡检

随着视频监控的普及,现在很多社区、工地、车间、厂区、超市、商铺、酒店、餐馆等场所都安装了视频监控系统。当安装的视频监控出现故障时,我们该如何进行简单的视频故障识别呢?如果只依靠人工对视频故障识别排查,工作量是相当大的…

Pytorch 入门资源(一) annaconda3下安装pytorch2.0.0和python3.11,使用Pycharm编辑器环境配置

一、环境安装 用annaconda3-2023.03-windows_x86_64,安装上python3.11和pytorch2.0.0环境。 下载pycharm community版本,将pycharm环境选择到pytorch,就可以开始上手Pytorch了。 指路几个安装博客: 【ok】Anaconda3的安装配置…