我正在制作一个 Python 项目,我必须在其中从数据库中查找和检索数据。
我尝试制作一个类,在其中我声明连接并进行查询,这就是我到目前为止所拥有的。
import MySQLdb
dbc =("localhost","root","1234","users")
class sql:
db = MySQLdb.connect(dbc[0],dbc[1],dbc[2],dbc[3])
cursor = db.cursor()
def query(self,sql):
sql.cursor.execute(sql)
return sql.cursor.fetchone()
def rows(self):
return sql.cursor.rowcount
sqlI = sql()
print(sqlI.query("SELECT `current_points` FROM `users` WHERE `nick` = 'username';"))
因此,主要问题是变量 db
和 cursor
不能从同一类的其他 def/函数调用。我想要得到的是一个完善的查询,我可以在其中进行查询并检索其内容。这将总结我的代码,因此我应该这样做。
原文由 Marshall 发布,翻译遵循 CC BY-SA 4.0 许可协议
我通常使用 psycopg2 / postgres,但这是我经常使用的基本数据库类,以 Python 的 SQLite 为例:
这将允许您使用
Database
类,通常像db = Database('db_file.sqlite)
或在with
语句中:当
with
语句退出时,连接将自动提交并关闭。然后,您可以将经常执行的特定查询封装在方法中,并使它们易于访问。例如,如果你正在处理交易记录,你可以有一个方法来按日期获取它们:
下面是一些示例代码,我们在其中创建了一个表,添加了一些数据,然后将其读回:
我希望这有帮助!