📜  Python MySQL-游标对象(1)

📅  最后修改于: 2023-12-03 15:18:56.807000             🧑  作者: Mango

Python MySQL-游标对象

在使用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语句

使用游标对象执行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()

fetchone()方法返回一个查询结果。如果没有结果,返回None。

query = 'SELECT * FROM users'
cursor.execute(query)
row = cursor.fetchone()
print(row)
fetchall()

fetchall()方法返回所有查询结果。

query = 'SELECT * FROM users'
cursor.execute(query)

for row in cursor.fetchall():
    print(row)
fetchmany()

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语句和获取结果。同时也介绍了如何关闭游标对象和数据库连接。希望本文对大家有所帮助。