连接并操作数据库:Python 数据库案例

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 数据库是一种用于存储和管理数据的工具,它以一种有组织的方式将数据存储在文件或内存中,以便于检索和处理。数据库系统通常使用 SQL(Structured Query Language)语言来进行数据的操作,包括数据的插入、查询、更新和删除等。

在 Python 中,我们可以使用内置的`sqlite3`库来操作 SQLite 数据库,也可以使用第三方库如`pymysql`来操作 MySQL 数据库。在这篇文章中,我们将以 MySQL 数据库为例,演示如何使用 Python 连接并操作数据库。

首先,我们需要安装`pymysql`库。你可以使用以下命令通过 pip 安装`pymysql`库:

pip install pymysql

接下来,我们需要连接到数据库。在连接到数据库之前,我们需要确保已经安装了 MySQL 数据库服务器,并创建了一个数据库。在这里,我们将连接到一个名为`mydatabase`的数据库,用户名为`myusername`,密码为`mypassword`。请将这些值替换为你自己的数据库信息。

import pymysql
# 连接到数据库
try:
    connection = pymysql.connect(host='localhost', user='myusername', password='mypassword', database='mydatabase')
    print("连接成功!")
except pymysql.Error as e:
    print(f"连接失败,错误 {e}")

连接成功后,我们可以创建一个游标对象,用于执行 SQL 语句。

# 创建游标对象
cursor = connection.cursor()
# 执行 SQL 语句
try:
    cursor.execute("SELECT * FROM users")
    result = cursor.fetchall()
    for row in result:
        print(row)
except pymysql.Error as e:
    print(f"执行 SQL 语句时出错,错误 {e}")

在上面的代码中,我们执行了一个`SELECT`语句从`users`表中查询所有数据,并将结果打印出来。如果在执行 SQL 语句时出现错误,将会捕获`pymysql.Error`异常并打印出错误信息。

我们还可以使用游标对象执行其他 SQL 语句,例如插入、更新和删除数据。

# 插入数据
sql = "INSERT INTO users (name, age) VALUES ('John', 25)"
try:
    cursor.execute(sql)
    connection.commit()
    print("数据插入成功!")
except pymysql.Error as e:
    print(f"数据插入失败,错误 {e}")
# 更新数据
sql = "UPDATE users SET age = 30 WHERE name = 'John'"
try:
    cursor.execute(sql)
    connection.commit()
    print("数据更新成功!")
except pymysql.Error as e:
    print(f"数据更新失败,错误 {e}")
# 删除数据
sql = "DELETE FROM users WHERE name = 'John'"
try:
    cursor.execute(sql)
    connection.commit()
    print("数据删除成功!")
except pymysql.Error as e:
    print(f"数据删除失败,错误 {e}")

在上面的代码中,我们分别执行了插入、更新和删除数据的操作,并使用`connection.commit()`方法提交更改。如果在执行操作时出现错误,将会捕获`pymysql.Error`异常并打印出错误信息。

最后,我们需要关闭数据库连接。

# 关闭数据库连接
cursor.close()
connection.close()

以上就是使用 Python 连接作 MySQL 数据库的基本步骤。在实际应用中,你可能需要根据具体的需求编写更复杂的 SQL 语句,并使用游标对象执行更多的数据库操作。希望这篇文章对你有所帮助!

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
17 0
|
13天前
|
Python
python集合的创建案例分享
【4月更文挑战第11天】在Python中,通过大括号或`set()`函数可创建集合。示例包括:使用大括号 `{}` 创建带元素的集合,如 `{1, 2, 3, 4, 5}`;使用 `set()` 函数从列表转换为集合,例如 `set([1, 2, 3, 4, 5])`,以及创建空集合 `set()`。当元素有重复时,集合会自动去重,如 `set([1, 2, 2, 3, 4, 4, 5])`。但尝试将不可哈希元素(如列表、字典)放入集合会引发 `TypeError`。
17 1
|
16天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
1天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
4 0
|
1天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
4天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
37 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
5天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
总结几个GPT的超实用之处【附带Python案例】
总结几个GPT的超实用之处【附带Python案例】
|
9天前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
13 0
|
9天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
26 1