python与MYSQL学习三

在操作数据库的时候经常遇到了cursor
例如 :c = conn.cursor()      #由连接对象去创建我们的游标对象出来
连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。
连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。
连接对象的db.commit()和db.rollback()方法分别表示事务提交和回退。
指针对象的cursor.close()方法关闭指针并释放相关资源。
指针对象的cursor.execute(query[,parameters])方法执行数据库查询。
指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。
#例如:
c.execute("""select name,score from test""")  #执行一个查询操作之后引用它
for name,score in c.fetchall():#可以将所有的结果集中的行取出来处理的!返回一个元组出来了!
指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。
指针对象的cursor.fetchone()从查询结果集中返回下一行。
#相当于JAVA中的next()提取出来的!
指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。
指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。
#通过这个我们可以判断是否有记录出来!
例如:
import MySQLdb
try:   
  connection = MySQLdb.connect(user="user",passwd="password",host="xxx",db="test")except:
  print "Could not connect to MySQL server."
  exit( 0 )
try:
   cursor = connection.cursor()
   cursor.execute( "SELECT note_id,note_detail FROM note where note_id = 1" )
   print "Rows selected:", cursor.rowcount
   for row in cursor.fetchall():     #返回的是一个元组集
       print "note : ", row[0], row[1]
   cursor.close()