【问题标题】:Avoid Cursor In Python [closed]在 Python 中避免使用光标 [关闭]
【发布时间】:2016-09-11 16:33:19
【问题描述】:

我是 python 和 mysql 的新手。我试图了解如何连接到 mysql 数据库。到目前为止,我知道我可以使用 pymysql 并制作一个游标对象。但我真的无法弄清楚光标的点。所以我有三个问题。
游标到底是什么,为什么要使用它?
我听说最好避免使用光标。为什么?
没有游标怎么用mysql数据库?(我搜了也没找到,我觉得原因是不知道该搜什么)

【问题讨论】:

标签: mysql database-cursor


【解决方案1】:

您的问题相当广泛,但它确实带来了语言上的重要区别。 Python(以及与数据库接口的其他语言)使用游标的方式与“避免使用游标”的含义有所不同。

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

使用光标的警告是当您继续使用光标进行数据处理(出于格式化目的以外的任何目的)时。一个特别糟糕的情况是当您有多个游标进行处理的循环时。这种处理有一个缩写:RBAR,代表“row by agonizing row”。

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

如果您的目的是学习 Python,那么 Pandas/Numpy 很适合学习。如果您的目的是学习 SQL,那么游标界面或加载到数据框中的模块可能都可以。

【讨论】:

  • 我想补充的是,如果你知道你的 sql,并且你的目的是学习更好地使用 Python 使用数据库的方法,那么学习 sqlalchemy 会很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多