📅  最后修改于: 2023-12-03 15:18:56.807000             🧑  作者: Mango
在使用Python的MySQL模块进行数据库操作时,我们经常使用游标对象(Cursor)来执行SQL语句并获取数据。本文将介绍Python MySQL中的游标对象和其相关使用方法。
游标对象是数据库连接的一个属性,可以通过connection.cursor()
方法创建一个游标对象。游标对象可以用来执行SQL语句并获取数据。
import mysql.connector
# 建立连接
cnx = mysql.connector.connect(user='root', password='password', host='127.0.0.1', database='testdb')
# 创建游标对象
cursor = cnx.cursor()
使用游标对象执行SQL语句可以通过方法cursor.execute()
实现。execute()
方法接收一个SQL语句作为参数,执行该语句并返回执行结果。
# 执行查询
query = 'SELECT * FROM users'
cursor.execute(query)
# 执行插入
insert = 'INSERT INTO users (name, age) VALUES (%s, %s)'
data = ('John', 25)
cursor.execute(insert, data)
# 执行更新
update = 'UPDATE users SET age = 30 WHERE name = "John"'
cursor.execute(update)
游标对象的execute()
方法执行查询语句后,可以利用一系列方法来获取查询结果。
fetchone()
方法返回一个查询结果。如果没有结果,返回None。
query = 'SELECT * FROM users'
cursor.execute(query)
row = cursor.fetchone()
print(row)
fetchall()
方法返回所有查询结果。
query = 'SELECT * FROM users'
cursor.execute(query)
for row in cursor.fetchall():
print(row)
fetchmany(size=None)
方法返回指定数量的查询结果,如果不指定数量,默认为1。该方法返回的结果是一个元组的列表。
query = 'SELECT * FROM users'
cursor.execute(query)
for row in cursor.fetchmany(2):
print(row)
在使用游标对象执行完SQL语句后,需要关闭游标对象和数据库连接。
# 关闭游标对象
cursor.close()
# 关闭数据库连接
cnx.close()
文章介绍了Python MySQL中游标对象的使用,如何创建游标对象、执行SQL语句和获取结果。同时也介绍了如何关闭游标对象和数据库连接。希望本文对大家有所帮助。