python cursor游标重置位置scroll_MySQLdb操作数据库(三)

删除数据

删除单条数据

#conding=utf-8

import MySQLdb

import random

try:

conn = MySQLdb.connect(

host = '127.0.0.1',

user = 'root',

passwd = "123456",

port = 3306)

conn.select_db('python')# 选择pythonDB数据库

cur = conn.cursor()# 获取游标

cur.execute("delete from user where id=0")

cur.execute("select * from user")

for v in cur.fetchall():

print v

cur.close()

conn.commit()

conn.close()

print u"sql执行成功"

except Exception, e:

print e

删除多条数据

#conding=utf-8

import MySQLdb

import random

try:

conn = MySQLdb.connect(

host = '127.0.0.1',

user = 'root',

passwd = "123456",

port = 3306)

conn.select_db('python')# 选择pythonDB数据库

cur = conn.cursor()# 获取游标

sql = "delete from user where id=%s"

cur.executemany(sql,[(3),(2,)])

cur.execute("select * from user")

for v in cur.fetchall():

print v

cur.close()

conn.commit()

conn.close()

print u"sql执行成功"

except Exception, e:

print e

事务回滚

import MySQLdb

import random

try:

conn = MySQLdb.connect(

host = '127.0.0.1',

user = 'root',

passwd = "123456",

port = 3306)

conn.select_db('python')#

cur = conn.cursor()# 获取游标

cur.execute("select * from user")

datas = cur.fetchall()

print u"修改前的数据:\n", datas[0]

cur.execute("update user set birthday='2100-08-12'where name='tom6")

cur.execute("select * from user")

datas = cur.fetchall()

print u"修改后的数据:\n", datas[0]

#回滚事务

conn.rollback()

cur.execute("select * from user")

datas = cur.fetchall()

print u"事务回滚后的数据:\n", datas[0]

#关闭游标

cur.close()

#提交事务

conn.commit()

#关闭数据库连接

conn.close()

print u"sql语句执行成功!"

except Exception, e:

print e

重置游标位置

scroll(value, mode='relative')

移动指针到参数value指定的行;

Mode = relative则表示从当前所在行前移value行

Mode=absolute表示移动到绝对位置的value行。游标索引从0开始

cursor.rownumber

返回当前游标所在位置

数据库表内容:

#coding=utf-8

import MySQLdb

#打开数据库连接

conn = MySQLdb.connect(

host = "localhost",

port = 3306,

user = "root",

passwd = "123456",

db = "python",

charset = "utf8")

#使用cursor()方法获取数据库的操作游标

cursor = conn.cursor()

cursor.execute("select * from user order by id")

print u"当前游标所在位置:", cursor.rownumber

print cursor.fetchone()

print u"当前游标所在位置:", cursor.rownumber

cursor.scroll(0,mode="absolute")#移动游标到第一行

print u"当前游标所在位置:", cursor.rownumber

print cursor.fetchone()

#coding=utf-8

import MySQLdb

#打开数据库连接

conn = MySQLdb.connect(

host = "localhost",

port = 3306,

user = "root",

passwd = "123456",

db = "python",

charset = "utf8")

#使用cursor()方法获取数据库的操作游标

cursor = conn.cursor()

cursor.execute("select * from user order by id")

print u"当前游标所在位置:", cursor.rownumber

res = cursor.fetchmany(5)

for value in res:

print value

print u"当前游标所在位置:", cursor.rownumber

cursor.scroll(3,mode="relative")#游标会向前移动3,对应数据库表就是向后移动3行

print u"当前游标所在位置:", cursor.rownumber

print cursor.fetchone()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值