Python连接MySQL:基础操作与代码实例
103 浏览量
更新于2024-08-03
收藏 1KB MD 举报
"本资源主要介绍了如何在Python中使用PyMySQL模块与MySQL数据库进行交互,包括安装PyMySQL、建立数据库连接、执行SQL查询、插入、更新和删除数据以及关闭数据库连接的基本步骤,通过代码示例进行详细讲解。"
在Python编程中,当需要与MySQL数据库进行交互时,PyMySQL是一个常用的库。以下将详细解释这些基础知识:
1. 安装PyMySQL模块
使用Python的包管理器pip来安装PyMySQL模块,命令如下:
```bash
pip install PyMySQL
```
安装完成后,你就可以在Python程序中导入并使用PyMySQL了。
2. 连接MySQL数据库
要连接到MySQL数据库,首先需要创建一个连接对象,然后创建一个游标对象。以下是连接到本地MySQL服务器的示例代码:
```python
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', user='root', password='password', database='test_db')
# 创建游标对象
cursor = conn.cursor()
```
这里,`host`是数据库服务器地址,`user`和`password`是数据库登录凭证,`database`是要连接的数据库名。
3. 执行SQL查询语句
编写SQL查询语句,然后通过游标对象的`execute()`方法执行。例如,查询`users`表中的所有数据:
```python
# 编写SQL查询语句
sql = "SELECT * FROM users"
# 执行SQL查询语句
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchall()
# 输出查询结果
for row in result:
print(row)
```
`fetchall()`方法用于获取所有查询结果,结果以元组的形式返回。
4. 插入、更新和删除数据
- 插入数据:使用`INSERT INTO`语句,执行后记得调用`commit()`方法提交事务。
```python
sql = "INSERT INTO users (username, password) VALUES ('user1', 'password1')"
cursor.execute(sql)
conn.commit()
```
- 更新数据:使用`UPDATE`语句,同样需要提交事务。
```python
sql = "UPDATE users SET password='new_password' WHERE username='user1'"
cursor.execute(sql)
conn.commit()
```
- 删除数据:使用`DELETE FROM`语句,也需要提交事务。
```python
sql = "DELETE FROM users WHERE username='user1'"
cursor.execute(sql)
conn.commit()
```
5. 关闭数据库连接
完成数据库操作后,要记得关闭游标和连接以释放资源,防止内存泄漏。
```python
# 关闭游标对象
cursor.close()
# 关闭连接对象
conn.close()
```
通过以上步骤,你可以在Python中使用PyMySQL库实现对MySQL数据库的基本操作。这只是一个简单的介绍,实际应用中可能需要处理更复杂的事务、错误处理和优化性能等方面的问题。在实际项目中,还可以考虑使用ORM(对象关系映射)框架如SQLAlchemy,以提高代码的可读性和可维护性。
点击了解资源详情
2020-09-10 上传
2023-08-16 上传
2023-08-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
特创数字科技
- 粉丝: 3526
- 资源: 312
最新资源
- RPSL:机器人感知规范语言(RPSL)
- 学生成绩管理系统(java实现).zip
- java11_64_bin.zip jdk11免费下载
- My-FreeCodeCamp-Code:我来自训练营的代码
- eulerian_video_magnification:实现欧拉视频放大并用于心率检测等
- pet-projects.dev-frontend:用于https:dev-pet-projects.github.io的Nuxt.js Buefy前端
- cpp代码-162.4.4.2
- matlab由频域变时域的代码-speaker-recognition:说话人识别
- 【课设警告】每个Java老师都喜欢的学生成绩管理系统.zip
- Amzl_Proto
- JSG202227 2022年江苏省职业院校技能大赛(高职) 电子产品芯片级检测维修与数据恢复 赛项规程.zip
- 9cc:小型C编译器
- yamame1212.github.io
- GAN_model:使用GAN生成3D网格模型
- 差异:用于生成字符串差异的简单gem
- Xshell7个人免费版