Python连接Liunx中mysql数据库-增删改查

news2024/6/29 12:12:03

在这里插入图片描述
上一篇文章已经讲解了如何连接liunx中的mysql数据库,如果没有连接好数据库的话,可以看这一篇文章

增删改查

  • Mysql中查询操作
    • 1.创建游标
    • 2.定义一个sql的查询语句
    • 3.调用游标内的sql语句执行操作
    • 4.打印出查询结果
    • 5.完整代码
    • 6.指定查询
  • Mysql中新增操作
    • 1.单条数据插入
    • 2.多条数据插入
  • Mysql中删除操作
    • 第一种方法直接定义
    • 第二种方法传递参数
  • Mysql中修改操作
    • 第一种方法直接定义
    • 第二种方法传递参数

这是我接下来需要进行增删改查操作的数据表

在这里插入图片描述

Mysql中查询操作

python中操作mysql数据库主要就是通过连接池将游标传递出去

1.创建游标

curs = db.cursor()

2.定义一个sql的查询语句

sql =‘select * from abs_incoming;’

3.调用游标内的sql语句执行操作

curs.execute(sql1)

4.打印出查询结果

由于单独打印游标无法获取到数据,所以需要用fetchall进行获取
fetchall获取整条数据时使用,查询单条数据使用fetchone()会好些
print(curs.fetchall())

在这里插入图片描述

5.完整代码

import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
                     user='root',#连接名
                     passwd='',#你的密码
                     database='abs',#数据库名称
                     port=3306)#端口号
curs = db.cursor()
sql1 ='select * from abs_incoming;'
curs.execute(sql1)
print(curs.fetchall())

6.指定查询

我想查询数据表中年龄为20的姓名和收入情况

sql1='select * from abs_incoming where age=20;'
curs.execute(sql1)
print(curs.fetchall())

在这里插入图片描述

Mysql中新增操作

1.单条数据插入

执行sql的插入语句

sql=‘insert into abs_incoming(name,age,incoming)values(“zhangsan”,20,8000);’

通过调用游标方法执行sql语句

curs.execute(sql)

执行脚本

db.commit()

释放资源

db.close()

插入成功后,数据表中多出一条数据
在这里插入图片描述
完整代码

import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
                     user='root',#连接名
                     passwd='',#你的密码
                     database='abs',#数据库名称
                     port=3306)#端口号
curs = db.cursor()
sql='insert into abs_incoming(name,age,incoming)values("zhangsan",20,8000);'
curs.execute(sql)
db.commit()
db.close()

2.多条数据插入

执行sql语句

sql3 = ‘insert into abs_incoming(name,age,incoming)values(%s,%s,%s);’

要插入的多条数据

data=[(‘zhangersan’,‘18’,‘4200’),(‘leishen’,‘20’,‘3600’),(‘zhangwu’,‘22’,‘5400’)]

调用游标这里有两个一个是sql语句,另一个就是你要插入的参数

curs.executemany(sql3,data)

执行脚本

db.commit()

释放脚本

db.close()

完整代码

import pymysql
db = pymysql.connect(host='192.168.52.129',#数据库的ip地址
                     user='root',#连接名
                     passwd='',#你的密码
                     database='abs',#数据库名称
                     port=3306)#端口号
curs = db.cursor()
sql3 = 'insert into abs_incoming(name,age,incoming)values(%s,%s,%s);'
data=[('zhangersan','18','4200'),('leishen','20','3600'),('zhangwu','22','5400')]
curs.executemany(sql3,data)
db.commit()
db.close()

在这里插入图片描述

Mysql中删除操作

第一种方法直接定义

执行sql中删除语句

sql4 = ‘delete from abs_incoming where name=“leishen”;’

游标调用方法

curs.execute(sql4)

执行脚本

db.commit()

释放脚本

db.close()
在这里插入图片描述

第二种方法传递参数

sql4 = 'delete from abs_incoming where name=%s;'
s_name = "zhangersan"
curs.execute(sql4,[s_name])
db.commit()
db.close()

Mysql中修改操作

第一种方法直接定义

sql ='update abs_incoming set age = 30 where name="leishen";'
curs.execute(sql)
db.commit()
db.close()

在这里插入图片描述

第二种方法传递参数

sql = 'update abs_incoming set age =40 where name =%s'
na = "leishen"
curs.execute(sql,[na])
db.commit()
db.close()

在这里插入图片描述

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

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

相关文章

jupyter 常用记录

安装windows环境下 运行cmd 然后:在命令提示窗口输入pip install jupyter,然后回车;完成后运行 jupyter notebook 前言 提起jupyter notebook,应该很多学习过Python的同学都不陌生。虽然用jupyter notebook的同学相对较少,但是提…

Java多级缓存是为了解决什么的?

前言 提到缓存,想必每一位软件工程师都不陌生,它是目前架构设计中提高性能最直接的方式。 缓存技术存在于应用场景的方方面面。从网站提高性能的角度分析,缓存可以放在浏览器,可以放在反向代理服务器,还可以放在应用…

使用JINJA2模板部署自定义文件(RH294)

在ansible中有许多模板可以用于修改现有的文件比如—— lineinfile和blockinfile但是!我们还有一种更加便捷而且牛皮的方法为其构建模板在部署该文件是自动为受管主机自定义次模板配置文件而这些模板中非常有名的就是 JINJA2ansible将Jinja2模板系统用于模板文件 并…

Java设计模式-职责链模式Chain of Responsibility

介绍 职责链模式(Chain of Responsibility Pattern), 又叫 责任链模式,为请求创建了一个接收者对象的链(简单示意图)。这种模式对请求的发送者和接收者进行解耦。职责链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理…

C语言#include的用法详解

#include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include 也是C语言预处理命令的一种。#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件&am…

Oracle数据库故障处理-存储单块读hang分析处理

1 故障描述 2023年1月27日下午接到业务反馈数据库存在大量的锁表阻塞信息,并且业务的页面以及数据库的一些查询均处于阻塞状态,简单的查询sql也需要查询很长时间且未返回结果,数据库hang状态。 2 故障原因分析 2.1 数据库层面分析 接到业务反馈后&am…

如果放在几年前,无法想到互联网会蜕变成今天这样一副模样

如果放在几年前,你是万万无法想到互联网会蜕变成今天这样一副模样。尽管如此,这样一种蜕变却在真实地发生着。不知道你有没有发现就连前两年火爆的短视频人们都懒得刷了。所有的这一切都在告诉我们,互联网正在发生一场深刻而又彻底的嬗变。如…

SQL Server数据库版本总结

一、为什么要写这篇文章 之所以专门写一篇文章来整理归纳SQL Server各个版本的功能区别,是因为遇到过两次真实的客户案例,因为数据库版本选取不当,导致生产系统宕机的情况。 案例一 某客户安装了 32位 版本的SQL Server 2008 R2 数据库&…

人工智能轨道交通行业周刊-第31期(2023.1.16-1.29)

本期关键词:磁悬浮原理、小米石、通信铁塔维护、桥隧工巡检、地方铁路十大新闻 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路…

element 日期组件实现只能选择小时或者只能选择小时、分钟

前言 在使用 element 框架时,总是会有一些满足不了现有项目需求的问题,这个时候就需要我们对 element 的组件进行改造,最近有一个需求就是要求日期组件只能选择年月日时,不要分钟和秒,找了一圈,发现 elemen…

【Markdown】CSDN 的 Markdown 编辑器锚点使用-进阶篇

1. 原始 Markdown 代码 1.1 “目录”元素 [TOC](8.6 InnoDB ClusterSet 的状态和拓扑)1.2 “1号标题-1”元素 # InnoDB ClusterSet 状态1.3 “1号标题-2”元素 <h1> <a id"innodb-clusterset-topology">InnoDB ClusterSet 拓扑</a> </h1>…

压缩包文件如何设置和删除密码

压缩软件除了可以压缩和解压文件&#xff0c;还可以作为加密软件&#xff0c;给压缩的文件设置密码来保护文件。 今天就来看下两个常用的压缩软件是如何设置和删除密码的。 先说说WinRAR这个最常用的压缩软件&#xff0c;它可以根据不同的需求设置单次密码和永久自动加密。 …

2023年度国家自然科学基金项目开放申报及注意事项

根据国家自然科学基金委员会发布的通告&#xff0c;2023年国家自然科学基金项目申报系统已于1月15日开放。知识人网整理了主要内容&#xff0c;提醒申报者注意。一、日程节点&#xff1a;1.集中接收工作于2023年3月1日开始&#xff0c;3月20日16时截止。2.申请人于2023年1月15日…

笔记本电脑拆机并更换固态硬盘的方法

本文介绍为笔记本电脑拆机、更换固态硬盘的具体方法。 在文章Win10电脑出现No Bootable Device且无法开机或开机后蓝屏无限重启的多个解决方法&#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/122923896&#xff09;中我们提到&#xff0c;一些由电脑硬盘…

高频算法:删除有序数组中的重复项

今天要讲的算法题是LeetCode上的第26题&#xff0c;先贴题目&#xff1a; 首先题目中给出了几个比较关键的条件&#xff0c;首先就是升序排列的数组&#xff0c;这样的话至少我们不需要进行排序的操作&#xff0c;直接从前向后进行比较&#xff0c;我们就能知道数组中的哪些元…

基于SpringBoot、Mybatis-Generator实现数据库表自动生成全套后台代码

背景我们在日常开发过程&#xff0c;大多数都是使用主流MVC架构&#xff0c;如下图所示。从图中可以看出&#xff0c;我们主要的业务代码基本都是从Controller->Service->Dao/Mapper&#xff0c;由Dao/Mapper则通过Mybatis连接数据库连接池的方式与数据库进行指令数据交互…

实现简单的栈与队列

前言&#xff1a;前面已经详细地介绍了基本的顺序表和链表&#xff0c;这次要介绍的是数据结构中的栈与队列。从本质上来说&#xff0c;二者是特殊的线性表&#xff0c;是依赖于顺序表或链表来实现的&#xff0c;所以只要能够很好地掌握顺序表和链表&#xff0c;再了解清楚栈与…

STM32F103学习笔记(11)——压力传感器GZP6859D使用

一、简介 数据手册&#xff1a;https://item.szlcsc.com/3590436.html GZP6859D 型压力传感器采用 SOP6 封装形式&#xff0c;内部集成了高精度 ADC 芯片&#xff0c;对传感器芯片输出的偏移、灵敏度、温漂和非线性进行数字补偿&#xff0c;以供电电压为参考&#xff0c;产生一…

基于Java实现对Excel表格数据的读写(附B站详细讲解视频)

文章目录 Maven依赖设置导入相应jar包 读取.xlsx表格文件数据 写入数据到.xlsx表格文件 读写后缀名为.xls类型的表格文件&#xff08;旧版表格文件&#xff09; 详细视频教程 Maven依赖设置导入相应jar包 <project xmlns"http://maven.apache.org/POM/4.0.0" …

论文理解【Offline RL】——【One-step】Offline RL Without Off-Policy Evaluation

标题&#xff1a;Offline RL Without Off-Policy Evaluation文章链接&#xff1a;Offline RL Without Off-Policy Evaluation代码&#xff1a;davidbrandfonbrener/onestep-rl发表&#xff1a;NIPS 2021领域&#xff1a;离线强化学习&#xff08;offline/batch RL&#xff09;—…