Connector for python

本文介绍MySQLConnector/Python的特性,包括支持XDevAPI、数据类型转换及安全编程实践等内容。探讨了如何处理输入数据中的异常情况,防止SQL注入攻击,并提供了高效处理查询结果集的方法。

MySQL Connector/Python支持:

  • 几乎所有MySQL服务器提供的功能,直到并包括MySQL服务器5.7版本。
  • 连接器/Python 8.0也支持X DevAPI。
  • 在Python和MySQL数据类型之间来回转换参数值
  • 使用TCP/IP套接字的连接和在Unix上使用Unix套接字的连接。
  • 使用SSL保护TCP/IP连接。
  • 独立的驱动程序。连接器/Python不需要MySQL客户端库或标准库。之外的任何Python模块。

开发python应用的一些指南:

  • 任何接受输入的应用程序都必须处理坏数据。
  • 坏数据可能是偶然的,比如超出范围的值或格式错误的字符串。应用程序可以使用服务器端检查(如惟一约束和非空约束)来防止坏数据到达数据库。在客户端,使用异常处理程序等技术报告任何问题并采取纠正措施。
  • 坏数据也可能是故意的,表示“SQL注入”攻击。例如,输入值可能包含引号、分号、%和_通配符以及SQL语句中重要的其他字符。验证输入值,确保它们只有预期的字符。转义任何可能在将其替换为SQL语句时更改预期行为的特殊字符。如果不先进行验证和转义,永远不要将用户输入值连接到SQL语句中。即使在接受由其他程序生成的输入时,也要预料到其他程序也可能受到攻击,并向您发送不正确或恶意的数据。
  • 由于SQL查询的结果集可能非常大,所以在循环遍历结果集时,请使用适当的方法从结果集中检索项。当您知道结果集包含一行时,fetchone()检索单个项。fetchall()检索所有项,当您知道结果集包含的行数有限,可以轻松地放入内存时。当您无法预测结果集的大小时,fetchmany()是一种通用方法:您不断地调用它并遍历返回的项,直到没有更多的结果需要处理为止。
  • 由于Python已经有了方便的模块,比如pickle和cPickle来读写磁盘上的数据结构,所以选择存储在MySQL中的数据很可能具有特殊的特性。

转载于:https://www.cnblogs.com/cheneywxy/p/10668092.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值