从数据库中检索更新的表 - MySQLdb

时间:2017-02-15 05:52:15

标签: python mysql mysql-python

我试图仅使用一个连接从表中检索所有数据。这是一个伪代码:

import MySQLdb

db = MySQLdb.connect(host,user,pass,db)
def some_fun():
    global db
    cur=db.cursor()
    cur.execute("SELECT * FROM TableName")
    result = cur.fetchall()
    for i in result:
        print i
    cur.close()

while True:
    some_fun()

此代码不起作用,即使表格内容发生变化,每次都会提供相同的记录。

如何只使用一个连接就可以实现多个查询,而且每次必须获取表内容时都不会打开连接。

由于

1 个答案:

答案 0 :(得分:0)

如果您主要关心的是重复使用连接而不关闭并重复打开它,您可以执行以下操作。

光标不会关闭,每个新查询都会获取表格中的更新数据。

import MySQLdb

class Dbconnect(object):
    def __init__(self):
        self.dbconection = MySQLdb.connect(host='host', port=int('port'), user='user', passwd'passwd', db='schema_db')
        self.dbcursor = self.dbconection.cursor()


db = Dbconnect()
# conection made before the infinite loop
while True:
    db.dbcursor.execute()
    # use an iterator to view results. This consumes the cursor
    for row in db.dbcursor:
        print row