在Python中避免使用Cursor

时间:2016-09-11 16:33:20

标签: python mysql

我是python和mysql的新手。我正在尝试了解如何连接到mysql数据库。到目前为止,我知道我可以使用pymysql并制作一个游标对象。但我真的无法弄清楚光标的重点。所以我有三个问题。
光标到底是什么,我为什么要使用它?
我听说避免光标更好。为什么?
如何在没有光标的情况下使用mysql数据库?(我已经搜索过,没有发现任何内容。我认为原因是我不知道应该搜索什么内容)

1 个答案:

答案 0 :(得分:4)

你的问题相当广泛,但它确实在语言方面带来了重要的区别。 Python(以及与数据库交互的其他语言)使用游标的方式与“避免使用游标”的含义之间存在差异。

当您运行SELECT查询时,需要以某种方式将结果集返回给调用应用程序。许多接口为此结果集提供了游标接口。那样就好。这只是结果集的接口。

使用游标的警告是指您使用光标继续进行数据处理(除格式化以外的任何其他操作)。一个特别糟糕的情况是当你有多个游标进行处理的循环时。这种类型的处理有一个首字母缩写:RBAR,代表“划伤行”。

在Python中,您不需要在数据库中使用游标接口。您还可以直接将数据加载到数据结构中,例如使用pandas / numpy或其他模块的数据框架。

如果你的目的是学习Python,那么Pandas / Numpy很有学问。如果您的目的是学习SQL,那么游标接口或加载到数据框中的模块可能都可以。