如何使用 Python 操作数据库

😀前言
在现代编程中,Python 的数据库操作已广泛应用于各类项目中,例如数据分析、Web 开发和数据持久化存储等。本文将介绍 Python 操作数据库的核心步骤,涉及数据库连接对象、游标对象的使用,以及常见的 SQL 数据操作。希望本文能帮助大家更好地理解并掌握数据库操作的基础知识。

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

  • 使用 Python 操作数据库
    • 1. 数据库连接对象
      • (1)获取连接对象
      • (2)连接对象的方法
    • 2. 游标对象
      • 游标对象的方法和常用属性
    • 3. 操作 SQLite 数据库
      • 1. 新增用户数据
      • 2. 查询用户数据
      • 3. 修改用户数据
      • 4. 删除用户数据
    • 5. 操作 MySQL 数据表
    • 😄总结

使用 Python 操作数据库

1. 数据库连接对象

(1)获取连接对象

在 Python 中,通过 connect() 函数可以获取数据库连接对象。该函数有多个参数,不同的数据库会有所区别。常见的数据库类型如 Oracle、MySQL、SQLite 等,都需要使用特定的模块,如 cx_Oraclepymysqlsqlite3 等。

连接数据库前,请先确保已经安装相应的数据库驱动。以下是 connect() 函数常用参数及说明:

参数说明
host数据库主机地址(如本地为 ‘localhost’)
user数据库用户名
password数据库密码
database要连接的数据库名称
port数据库端口(默认为 3306)
charset字符集(如 utf8)

例如,使用 pymysql 连接 MySQL 数据库可以按如下方式:

import pymysql# 创建连接
conn = pymysql.connect(host='localhost',user='root',password='password',database='test_db',charset='utf8'
)

(2)连接对象的方法

通过 connect() 返回的连接对象,代表当前与数据库的会话。连接对象提供了多种方法,用于执行事务、提交或回滚操作等。以下是常见方法:

image-20241026235120985

2. 游标对象

游标对象(Cursor Object)用于执行 SQL 语句并获取查询结果。通过调用连接对象的 cursor() 方法,可以创建游标对象,从而操作数据库。

游标对象的方法和常用属性

image-20241026235152043

属性说明
description数据库列的类型和值的描述
rowcount返回结果集的行数
# 创建游标对象
cursor = conn.cursor()# 执行查询
cursor.execute("SELECT * FROM users")# 获取所有查询结果
results = cursor.fetchall()

3. 操作 SQLite 数据库

以下以 SQLite 为例,演示常见的数据操作(增、删、改、查)的 SQL 语句和 Python 代码。

1. 新增用户数据

向数据表中新增数据,使用 INSERT INTO 语句:

cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
conn.commit()  # 提交事务

2. 查询用户数据

查找 users 表中的数据,使用 SELECT 语句:

cursor.execute("SELECT name, age FROM users WHERE age > 20")
rows = cursor.fetchall()
for row in rows:print(row)

3. 修改用户数据

修改 users 表中的数据,使用 UPDATE 语句:

cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
conn.commit()

4. 删除用户数据

删除指定条件的数据,使用 DELETE FROM 语句:

cursor.execute("DELETE FROM users WHERE name = 'Alice'")
conn.commit()

5. 操作 MySQL 数据表

在 MySQL 数据库中,可以使用 execute() 方法插入单条记录,或使用 executemany() 方法批量插入多条记录。例如:

# 批量插入数据
data = [('Bob', 25), ('Carol', 29)]
cursor.executemany("INSERT INTO users (name, age) VALUES (%s, %s)", data)
conn.commit()

😄总结

本文介绍了 Python 中数据库操作的基础知识,包括连接数据库、使用游标对象查询数据、执行增删改查操作。数据库操作是开发中常见的需求,掌握这些方法可以为项目开发奠定坚实的基础。希望通过本文的讲解,大家能够更熟练地使用 Python 进行数据库操作。

提示:操作完成后,记得关闭游标和连接,以释放资源。

# 关闭游标和连接
cursor.close()
conn.close()

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

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

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

相关文章

夸克浏览器的用户反馈如何提交

夸克浏览器凭借其简洁的界面、强大的功能以及不断优化的用户体验,赢得了众多用户的青睐。然而,任何产品都不可能完美无缺,用户的反馈对于产品的持续改进至关重要。本文将详细介绍如何在夸克浏览器中高效提交用户反馈,帮助开发者更…

【移动应用开发】使用多媒体--通知/播放音频/视频

目录 一、具体步骤 二、运行截图 1. 开启通知权限 2. 播放音乐 3. 播放视频 三、源代码 1. activity_main.xml 2. activity_video_player.xml 3. activity_notification.xml 4. 一些配置 5. MainActivity 6. VideoPlayerActivity 7. NotificationActivity 8. And…

VulnHub-Brainpan1 靶机笔记

Brainpan1 靶机笔记 概述 靶机地址:https://vulnhub.com/entry/brainpan-1,51/#download 这台靶机是很好的缓冲区溢出漏洞利用的练习靶机,涉及到逆向和缓冲区溢出漏洞挖掘的一些知识。 一、nmap 扫描 1)端口扫描 nmap -sT --min-rate 1…

echarts实现 水库高程模拟图表

需求背景解决思路解决效果index.vue 需求背景 需要做一个水库高程模拟的图表&#xff0c;x轴是水平距离&#xff0c;y轴是高程&#xff0c;需要模拟改水库的形状 echarts 图表集链接 解决思路 配合ui切图&#xff0c;模拟水库形状 解决效果 index.vue <!--/*** author:…

【Linux探索学习】第九弹——Linux工具篇(四):项目自动化构建工具—make/Makefile

Linux笔记&#xff1a;https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言&#xff1a; 在前面我们学习了如何用编译并执行&#xff0c;在现代软件开发中&#xff0c;构建一个项目涉及多个步骤&#xff0c;从编译源代码到链接库文件&a…

基于SpringBoot+Vue+MySQL的房屋租赁系统

系统展示 系统背景 随着城市化进程的加速和人口流动性的增加&#xff0c;房屋租赁市场逐渐成为城市生活的重要组成部分。然而&#xff0c;传统的房屋租赁方式存在诸多问题&#xff0c;如信息不对称、交易成本高、租赁关系不稳定等&#xff0c;这些问题严重影响了租赁市场的健康…

View三大机制(一):触摸机制(事件分发)

传递过程遵循如下顺序&#xff1a;Activity->Window->PhoneWindow->DecorView->RootView->ViewGroup->View View事件方法执行顺序:onTouchListener > onTouchEvent > onLongClickListener > onClickListener 主要由三个重要的方法共同完成的,只有Vi…

namespace 隔离实战

Docker简介 什么是虚拟化、容器化为什么要虚拟化、容器化?虚拟化实现 什么是虚拟化、容器化 物理机: 实际的服务器或者计算机。相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境&#xff0c;有时也称为“寄主”或“宿主”。 虚拟化: 是指通过虚拟化技术将…

Canvas 画布

文章目录 1. 初识1.1 认识画布1.2 兼容性1.3 上下文属性 2. 绘制2.1 绘制基本图形2.1.1 绘制矩形2.1.2 绘制圆形2.1.3 绘制直线2.1.4 绘制圆弧2.1.5 绘制贝塞尔二次曲线2.1.6 绘制贝塞尔三次曲线2.1.7 封装路径 2.2 颜色控制2.2.1 颜色设置2.2.2 线性渐变2.2.3 径向渐变2.2.4 圆…

XML解析小坑记录[正则表达式解析]

一、问题描述 在做 SSO 单点登录时( 认证中为CAS服务对接 )。在完成对用户ticket票根校验后&#xff0c;返回了用户信息有关 XML 数据片段&#xff0c;例如下&#xff1a; <cas:serviceResponse xmlns:cas"http://www.xxx.xx/xx/cas"><cas:authentication…

ffmpeg视频滤镜:网格-drawgrid

滤镜介绍 drawgrid 官网链接 》 FFmpeg Filters Documentation drawgrid会在视频上画一个网格。 滤镜使用 参数 x <string> ..FV.....T. set horizontal offset (default "0")y <string> ..FV.....T. set…

(50)MATLAB最优延迟迫零均衡器仿真测试与评估

文章目录 前言一、最优延迟迫零均衡器评估模型二、最优延迟迫零均衡器仿真代码1.代码如下&#xff1a;2.迫零均衡器函数zf_equalizer()的MATLAB源码 三、仿真结果画图1.不同权系数长度和延迟的迫零均衡器性能2. 不同权系数长度的迫零均衡器的最佳延迟 前言 对于预设均衡器延时…

用AI绘画工具提升创作效率,这款神器你一定不能错过!

在如今的创作领域&#xff0c;无论是插画师、设计师&#xff0c;还是内容创作者&#xff0c;都在寻找能够提升效率的工具&#xff0c;而AI绘画工具的诞生无疑是一场创意革命。通过AI技术的支持&#xff0c;我们不再需要耗费大量时间在绘制基础草图或反复调整细节上&#xff0c;…

为什么要使用Golang以及如何入门

什么是golang&#xff1f; Go是一种开放源代码的编程语言&#xff0c;于2009年首次发布&#xff0c;由Google的Rob Pike&#xff0c;Robert Griesemer和Ken Thompson开发。基于C的语法&#xff0c;它进行了一些更改和改进&#xff0c;以安全地管理内存使用&#xff0c;管理对象…

Oracle故障诊断(一线DBA必备技能)之ADRCI(四)

1. 题记&#xff1a; 本篇博文继续详细介绍一线DBA必备技能—Oracle DB故障诊断工具ADRCI。 2. 使用 ADRCI 进行故障诊断的步骤 1. 查看警报日志 警报日志是故障诊断的重要信息源&#xff0c;它记录了数据库启动、关闭、错误消息等关键事件。 首先启动 ADRCI。在操作系统命…

基于SpringBoot的项目工时统计成本核算管理源码带教程

该系统是基于若依前后端分离的架构&#xff0c;前端使用vue2&#xff0c;后端使用SpringBoot2。 技术框架&#xff1a;SpringBoot2.0.0 Mybatis1.3.2 Shiro swagger-ui jpa lombok Vue2 Mysql5.7 运行环境&#xff1a;jdk8 IntelliJ IDEA maven 宝塔面板 系统与功…

嵌入式学习-网络-Day04

嵌入式学习-网络-Day04 1.IO多路复用 1.1poll poll同时检测键盘和鼠标事件 1.2epoll 2.服务器模型 2.1循环服务器模型 2.2并发服务器模型 多进程模型 多线程模型 IO多路复用模型 网络聊天室 项目要求 问题思考 程序流程图 1.IO多路复用 1.1poll int poll(struct pollfd *fds, n…

Java 面向对象基础

目录 1. 面向对象2. 类与对象3. 面向对象在内存中的执行原理4. 类和对象注意事项5. this 关键字6. 构造器6.1 什么是构造器?6.2 构造器作用6.3 构造器应用场景 7. 封装性7.1 什么是封装&#xff1f;7.2 封装的设计规范7.3 封装的书写 8. 实体JavaBean 正文开始 1. 面向对象 …

《华为云主机:1024的惊喜馈赠》

《华为云主机&#xff1a;1024的惊喜馈赠》 一、1024 华为送云主机之缘起&#xff08;一&#xff09;特殊日子的馈赠意义&#xff08;二&#xff09;华为云主机活动初衷 二、华为云主机领取攻略&#xff08;一&#xff09;领取条件全解析&#xff08;二&#xff09;具体领取步骤…

第10章 自定义控件

第 10 章 自定义控件 bilibili学习地址 github代码地址 本章介绍App开发中的一些自定义控件技术&#xff0c;主要包括&#xff1a;视图是如何从无到有构建出来的、如何改造已有的控件变出新控件、如何通过持续绘制实现简单动画。然后结合本章所学的知识&#xff0c;演示了一个…