bah*_*ehr 1 mysql database-cursor
我是 python 和 mysql 的新手。我想了解如何连接到 mysql 数据库。到目前为止,我知道我可以使用 pymysql 并创建一个游标对象。但我真的不知道光标在哪里。所以我有三个问题。
游标到底是什么以及为什么要使用它?
我听说最好避免光标。为什么?
如何在没有游标的情况下使用mysql数据库?(我已经搜索并没有找到任何结果。我认为原因是我不知道我应该搜索什么)
你的问题相当广泛,但它确实带来了语言上的重要区别。Python(以及与数据库交互的其他语言)使用游标的方式和“避免使用游标”的含义之间存在差异。
当您运行SELECT查询时,结果集需要以某种方式返回到调用应用程序。许多接口为此结果集提供游标接口。没事儿。这只是结果集的接口。
当您使用光标继续数据处理(出于格式化目的以外的任何目的)时,会发出针对使用光标的警告。特别糟糕的情况是当您有多个游标进行处理的循环时。这种类型的处理有一个缩写词:RBAR,代表“row by agonizing row”。
在 Python 中,您不需要进入数据库的游标接口。您还可以直接将数据加载到数据结构中,例如使用 pandas/numpy 或其他模块的数据框。
如果你的目的是学习Python,那么Pandas/Numpy很值得学习。如果您的目的是学习 SQL,那么游标接口或加载到数据框架中的模块可能都可以。
| 归档时间: |
|
| 查看次数: |
1340 次 |
| 最近记录: |