pymysql Python 操作 MySQL(csdn)————程序.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在Python中,`pymysql`是一个用于连接MySQL数据库的库,它允许开发者执行SQL查询、插入、更新和删除数据库中的数据。以下是对文件中提到的知识点的详细说明: 1. **连接MySQL数据库**: 使用`pymysql.connect()`函数来建立与MySQL服务器的连接。连接参数包括: - `host`: 数据库服务器的IP地址或域名,在这里为'127.0.0.1',表示本地主机。 - `user`: 登录数据库的用户名,如'root'。 - `password`: 用户名对应的密码,例如'666660'。 - `database`: 需要操作的数据库名称,例如'database_2'。 - `port`: MySQL服务器的端口号,默认为3306。 - `charset`: 编码格式,通常设置为'utf8'以支持Unicode字符。 2. **创建游标**: 连接成功后,通过`conn.cursor()`创建一个游标对象,游标用于执行SQL语句并获取结果。 3. **执行SQL查询**: - 使用游标的`execute()`方法执行SQL查询。例如,检查用户名和密码是否存在,或者执行INSERT、UPDATE和DELETE操作。 - 游标的`execute()`方法返回一个整数,表示执行的SQL语句影响的行数。对于SELECT语句,返回1表示查询成功,返回0表示没有找到匹配的数据。 4. **防止SQL注入**: 文件中展示了两种格式化SQL语句的方法。第一种是使用`format()`函数,但这种方法存在SQL注入的风险。第二种是使用占位符`%s`,并通过元组传递参数,如`cur.execute(sql, (username, pwd))`,这种方式更安全,可以防止SQL注入攻击。 5. **数据操作**: - **插入数据**:使用`execute()`方法执行INSERT语句,之后调用`conn.commit()`来提交事务,确保数据被保存到数据库中。 - **删除和更新数据**:类似地,执行DELETE或UPDATE语句后也需要调用`commit()`进行提交。 6. **获取查询结果**: - 使用`fetchone()`方法逐行获取查询结果。`fetchone()`会返回下一行数据,如果没有更多数据,则返回None。 7. **关闭连接**: 在完成所有数据库操作后,记得关闭游标和连接,以释放资源。这通常通过`cur.close()`和`conn.close()`实现。 8. **批量查询**: 虽然文件中未涉及,但`pymysql`也支持`fetchmany(size)`和`fetchall()`方法,前者可以一次获取多行,后者则获取所有结果。 9. **异常处理**: 在实际编程中,应包含异常处理代码,如`try-except-finally`块,以便在出现错误时能妥善处理并关闭连接。 `pymysql`库提供了一个简单而强大的方式来与MySQL数据库进行交互,无论是执行基本的CRUD操作还是复杂的查询,都可以通过其API轻松实现。在编写代码时,注意SQL注入防护、事务管理和资源管理,以确保代码的安全性和效率。
- 粉丝: 0
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解C++中的RAII:资源管理的艺术
- 全国各省、市、县平均降水量(1950-2022年)
- Yolo v3框架基于TensorFlow,支持多模型、多数据集、任意数量的输出层、任意数量的锚点、模型修剪、以及将模型移植到K210!.zip
- YOLO v3、v4、v5、v6、v7 + SORT 追踪 + ROS 平台 支持YOLO 和 Darknet、OpenCV(DNN)、OpenVINO、TensorRT(tkDNN) SOR.zip
- DNVGL-ST-F101-2017 海底管道系统
- YOLO v3 对象检测算法的 PyTorch 实现.zip
- GitHub 是一个基于Git的版本控制和协作平台(简易手册).docx
- YOLO v3 对象检测算法的 Libtorch 实现.zip
- 以下是一个简单的C语言文件读写操作示例代码.docx
- 从文件夹里检索图片及预览,检索后展示预览内容