MySQL初级篇(四)

12.爬虫---PyMysql安装与使用 PyMySQL是一个功能强大且易于使用的库,它简化了Python与MySQL之间的交互。无论是进行简单的查询,还是复杂的CRUD操作,PyMySQL都能提供清晰、简洁的接口。此外,由于它是纯Python编写的,因此安装和使用都非常简单。如果你需要在Python项目中与MySQL数据库进行交互,PyMySQL无疑是一个很好的选择。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、pymysql

1、 安装与连接

--- 安装
pip install pymysql

---连接
user=None,  
password="",
host=None,
database=None,

---这里我们使用try
try:
    # 如果不能保证一定正确
    conn = pymysql.connect(
        user='root',
        password="root",
        host='127.0.0.1',
        database='py2204',
        port=3306,
        charset="utf8"
    )
except Exception as e:
    print(e)

conn.close() 关闭连接
conn.commit() 提交数据
conn.rollback() 撤销数据

2、 查

---1.通过通过连接对象创建游标对象
cursor = conn.cursor()
---2.编写指令
sql = "select * from student"
---3.发送指令
res = cursor.excute(sql) 
print(res) # 这里我们返回的是影响的行数
rows = cursor.fetchall() # 查询所有
print(rows)
打印如下:
((1, '赵一', 10, 172.0, 60.0), (2, '钱二', 17, 160.5, 50.0), (3, '孙三', 16, 152.2, 47.0), (4, '李四', 10, 177.5, 62.0), (5, '周五', 12, 168.0, 55.0), (6, '吴六', 12, 157.9, 50.0), (7, '郑七', 11, 156.0, 45.0), (8, '王八', 20, 160.5, 45.0), (9, '冯九', 12, 166.7, 60.0), (10, '陈十', 16, 167.5, 65.0))

for row in rows: # 遍历一下
     print(row)
打印如下:
(1, '赵一', 10, 172.0, 60.0)
(2, '钱二', 17, 160.5, 50.0)
(3, '孙三', 16, 152.2, 47.0)
(4, '李四', 10, 177.5, 62.0)
(5, '周五', 12, 168.0, 55.0)
(6, '吴六', 12, 157.9, 50.0)
(7, '郑七', 11, 156.0, 45.0)
(8, '王八', 20, 160.5, 45.0)
(9, '冯九', 12, 166.7, 60.0)
(10, '陈十', 16, 167.5, 65.0)
---查询下一条
cursor = conn.cursor()
sql = "select * from student"
res = cursor.execute(sql) # 返回 影响 的条数
rows = cursor.fetchone() # 查询所有
print(rows)
打印如下:
(1, '赵一', 10, 172.0, 60.0)
---为了避免输出的数据不清楚是啥可以通过字典进行一一对应
cursor = conn.cursor()
sql = "select * from student"
res = cursor.execute(sql) # 返回 影响 的条数
rows = cursor.fetchall() # 查询所有
# 获取所有字段
fields = [fields[0] for fields in cursor.description]
print(fields)
打印如下:
['id', 'name', 'age', 'height', 'weight'] 

---将对应所有字段序列化,格式化
dic_rows = [dict(zip(fields, row)) for row in rows]
# print(dic_rows)
for row in dic_rows:
    print(row)

3、 增、删、改

3.1 增

cursor = conn.cursor()
sql = "insert into student(name, age) values('new_insert', 16)"
res = cursor.execute(sql)  
print(res)
---按之前的查来看应该会直接插入到表中,但是实际并没有,因为事务干扰,故需要提交事务 
conn.commit() ---提交事务

3.2 删

cursor = conn.cursor()
sql = "delete from student where id = 5"
res = cursor.execute(sql)  
conn.commit()  

3.3 改

cursor = conn.cursor()
sql = "update student set name='李九' where id=9"
res = cursor.execute(sql)
print(res)
conn.commit() 

所有的 "写" 操作都需要提交事务才会写入数据库

二、事务

1、事务的特性

  • 原子性(atomicity ) :一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做;
  • 一 致性(consistency ) : 事务必须是使数据库从一个一致性状态变到另一个致性状态。一致性与原子性是密切相关的 ;
  • 隔离性 (isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰 ;
  • 持久性(durability ):持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的(数据写入完毕,无法再改变)。

2、操作

conn.close() 关闭连接
conn.commit() 提交事务
conn.rollback() 回滚撤销

三、 SQL注入

SQL注入即是指攻击者可以在WEB应用程序中事先定义好的询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询从而进一步得到相应的数据信息。具体略。

四、结语

最是仓皇辞庙日,教坊犹奏别离歌,垂泪对宫娥。----李煜《破阵子·四十年来家国》

请添加图片描述

Python中pymysql模块详解:安装、连接、执行SQL语句等常见操作 pymysql是一个用于Python编程的第三方模块,用于连接和操作MySQL数据库。它提供了一个简单而强大的接口,使开发者能够轻松地在Python程序中执行各种数据库操作,如查询、插入、更新和删除数据等。pymysql模块由Python实现,它遵循Python Database API规范(PEP 249),这使得它与其他数据库API兼容,并使得在不同的数据库之间切换变得更加容易。pymysql在Python开发者社区非常受欢迎,因为它易于使用、功能强大并且具有良好的性能。 阅读详情

相关推荐

【小白福利—初级DBA入门必看】MySQL常用工具介绍(一)——安装篇

之前Amy为大家更新了基于MySQL的分布式事务数据库的开发规范和MySQL数据类型测试点此查看系列文章,考虑到很多刚入门的初级DBA可能对MySQL工具的使用也不甚熟练,Amy决定接下来为大家更新一系列介绍MySQL的常用工具的文章,让大家对MySQL的使用更加得心应手。 ————————正文———————— 今天先更新MySQL工具的安装。 使用yum或rpm在linux安装、初始化、使用My...

Amygo的博客 748

python——数据库操作PyMysql使用详解

PyMysql使用详解

iamballer77的博客 2万+

Python系列:操作MySQL详解——PyMySQL

Python操作MySQL详解——PyMySQL

weixin_54626591的博客 3620

pymysql的使用超详细

本文讲解了pymysql的基本使用,以及常见的问题,讲述的比较详细,全面。

m0_54722399的博客 5637

手把手教你用Excel自动化处理G14大额风险暴露报表(含211版模板)

本文针对G14大额风险暴露报表(含211版)手工填报效率低、易出错的核心痛点,提供了一套基于Excel VBA的完整自动化解决方案。文章详细讲解了如何构建从数据采集、清洗、关联客户识别、风险暴露计算到自动化校验与归档的完整工作流,并附有可操作的代码示例,旨在帮助银行风控人员大幅提升报表处理效率与准确性。

weixin_29304985的博客 450

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客 1697

MySQL初级篇(四):Python实战CRUD与事务安全

本文详细介绍了如何使用Python进行MySQL数据库的CRUD操作与事务安全处理。从环境准备、基本查询到事务管理、SQL注入防范,再到性能优化技巧,全面讲解Python与MySQL的实战应用。特别强调了事务的ACID特性、参数化查询防注入以及连接池等关键实践,帮助开发者高效安全地操作MySQL数据库。

weixin_33882452的博客 366

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 578

(黑马)MYSQL初级-高级笔记(博主懒狗)

文章目录前言Mysql 初级部分笔记Mysql 高级部分笔记 前言 由于本地已经做好了相关的笔记,将自己的笔记上传上来比较麻烦,都是看视频做的笔记,笔记肯定有人上传上来的,我就不重复造轮子了。 Mysql 初级部分笔记 MySQL黑马笔记一 MySQL黑马笔记一 – – MySQL黑马笔记二 MySQL黑马笔记二 – – MySQL黑马笔记三 MySQL黑马笔记三 Mysql 高级部分笔记 MySQL高级(一) MySQL高级(.

qq_46539281的博客 3851

量化交易新手必看:如何用Python快速接入XTP极速交易系统(附避坑指南)

本文为量化交易新手提供了使用Python快速接入中泰证券XTP极速交易系统的完整指南。文章详细介绍了XTP系统的微秒级性能优势、与CTP系统的核心区别,并逐步讲解了环境配置、API连接、资金查询、下单撤单等关键步骤,同时分享了网络维护、订单处理等实战避坑技巧,帮助开发者高效对接专业交易柜台。

life6的博客 660

PHM 2010数据集解读

PHM数据挑战赛是一项面向所有潜在与会者的竞赛。今年的挑战集中在使用测力仪、加速度计和声发射数据估计高速数控铣床刀具的RUL上。 博客对PHM 2010数据集的组成和信号进行了可视化。

cnjs1994的博客 7648

MySQL必知必会(初级篇)

这里写目录标题1.基本概念2.SQL语言2.1 DCL(数据控制语言)2.1.1创建用户2.1.2 使用grant命令给用户授权2.1.3 使用revoke命令撤销权限2.2 DDL(数据定义语言)2.2.1 mysql常用约束类型2.2.2 使用alter命令修改表结构2.2.3 使用drop命令删除表2.3 DML(数据操纵语言)2.3.1 使用insert命令插入数据2.3.2 使用update命令插入数据2.3.3 使用delete命令插入数据2.4 DQL(数据查询语言).........

阿莫夕林的博客 3542

72、海洋地理信息系统:电子海图的全面解析

本文全面解析了海洋地理信息系统中的电子海图技术,从AIS数据的应用、电子海图数据的存储与显示,到电子导航的发展趋势和S-100通用水文数据模型的推广,系统地阐述了电子海图在现代航海中的核心作用及其未来发展方向。

hhh00的博客 252

Mysql锁——初级篇

在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为实现MySQL的各个隔离级别提供了保证。锁冲突也是影响数据库并发访问性能的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。本章主要涉及mysql锁应用的引言,并介绍表级锁的使用

weixin_44505310的博客 789

Windows 11 安装 Miniforge,配置国内源

本文详细介绍了在 Windows 11 系统中安装 Miniforge 的完整流程,包括下载、安装选项设置、配置国内镜像源(如清华大学源)以加速包管理,并启用 mamba 提升依赖解析与安装速度。同时涵盖 conda 与 mamba 的基本使用验证、PowerShell 初始化及环境提示符优化,帮助用户快速搭建高效、开源、免费的 Python 科学计算环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 4522

第3版•系统集成项目管理工程师(中级) │ 第12章 执行过程组 ✦ 管理沟通

🥏第3版•系统集成项目管理工程师(中级) │ 第12章 执行过程组 ✦ 管理沟通

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1万+

MySQL初级篇 | 修改MySQL密码的四种方法(适合初学者)

修改MySQL密码的四种方法,最后一种密码忘了也不怕

m0_61933976的博客 20万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

mysql选择题_MySQL初级考试试题及答案

《MySQL初级考试试题及答案》由会员分享,可在线阅读,更多相关《MySQL初级考试试题及答案(34页珍藏版)》请在人人文库网上搜索。1、一、单项选择题1以下聚合函数求最大值的是( )AMAXBIFCCASEDAVG答案:A2SQL语句中的条件用以下哪一项来表达( )ATHENBWHILECWHEREDIF答案:C3在视图上不能完成的操作是( )A查询 B在视图上定义新的视图 C更新视图D在视图上...

weixin_42657024的博客 3384

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

MySQL初级命令

MySQL初级命令 一、MySQL数据库的结构 数据库是由许多库组成,一个库里面又有许多张表组成,一张表又有许多字段以及一行一行数据组成 数据库>库(database)>表(table) 二、关于库的初级命令 1、查看所有库:show databases; 2、创建库:create database 库名; 如果已存在某个库,而又不想提示已存在信息时,可以直接写: create database if not exists 库名; 创建库时还可以指定编码集:create database if

qq_44248502的博客 423

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

MySQL初级

MYSQL初级 1 mysql初识 mysql官网 MySQL是一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 目前MySQL被广泛地应用在Internet上的中小型网站中,由于体积小、速度快、总体拥有成本低,开放源码、免费,一般中小型网站的开发都选择Linux + MySQL作为网站数据库。 MySQL是一个关系型数据库管理系统,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性。

小小猿的博客 1180

公司mysql试题及答案_MySQL初级考试试题及答案

《MySQL初级考试试题及答案》由会员分享,可在线阅读,更多相关《MySQL初级考试试题及答案(34页珍藏版)》请在人人文库网上搜索。1、一、单项选择题1以下聚合函数求最大值的是( )AMAXBIFCCASEDAVG答案:A2SQL语句中的条件用以下哪一项来表达( )ATHENBWHILECWHEREDIF答案:C3在视图上不能完成的操作是( )A查询 B在视图上定义新的视图 C更新视图D在视图上...

weixin_33476149的博客 1310

1.mysql初级篇

Mysql初级知识整体大纲第一章:基本操作指令操作指令查看mysql服务端版本SQL语言分类第二章:DQL语言操作 整体大纲 第一章:基本操作指令 操作指令 进入mysql: mysql -u root -p 输入密码: 查看mysql中有哪些个数据库: show databases; 新建一个数据库: create database 数据库名 如: create database book; 选择一个数据库: use 数据库名称 如:use test; 查询数据表: show tables;

JavanLu的博客 286

php【初级篇】之_4.php-mysql操作

php【初级篇】之_4.php-mysql操作 mysql操作 点此下载文档

u011513939的博客 237

MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境

从小白到运维管家的逆袭之路——本文将带你走进MySQL运维的世界,手把手教你搭建坚如磐石的数据堡垒,让数据库像瑞士钟表般精准运行!

云原生布道者 | 自动化效率控 | 行走的工具箱 | 技术文档复读机 | 运维架构师 1136

Docker环境构建:MySQL 双主四从集群

摘要:本文介绍了使用Docker搭建MySQL双主四从集群的方案。

Cherish_01的博客 1445

mysql初级篇学习笔记

##本单元目标 一、为什么要学习数据库 二、数据库的相关概念 DBMS、DB、SQL 三、数据库存储数据的特点 四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查

百年城的博客 220
上一篇: MySQL初级篇(三)
下一篇: 一、初识爬虫
小馒头学python
小馒头学python 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄4年 1万+粉丝 252原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值