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()

原文地址:http://blog.51cto.com/13496943/2152097

时间: 2024-10-06 10:36:31

MySQLdb操作数据库(三)的相关文章

用MySQLdb操作数据库流程示例:

下面的内容直接复制粘贴放到sublime中,保存为******.py文件,然后在python环境下运行即可: '''MySQLdb本身就是python操作mysql数据库的一个插件,python通过MySQLdb实现对数据库的增删改查'''import MySQLdb class MysqlSearch(object): def __init__(self): self.get_conn() '''获取连接''' def get_conn(self): try: self.conn = MySQ

Python之MySQLdb操作数据库

一.python操作数据库 1.格式:大概分为三部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 代码 import MySQLdb conn = MySQLdb.connect(host='192.168.0.180',user='cattle',passwd='cattle',db='cattle') cur = conn.cursor()  #创建连接 reCount = cur.execute('select * from admin') data

MySQLdb操作数据库

堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import paramiko   # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_pol

MySQLdb操作数据库(二)

查询数据 使用execute()函数执行查询sql语句后,得到的只是受影响的行数,并不能真正拿到我们查询的内容.没关系,这里游标cursor中还提供了三种提取数据的方法:fetchone.fetchmany.fetchall,每个方法都会导致游标游动,所以必须注意游标的位置cursor. fetchone()获取游标所在处的一行数据,返回的是元组,没有则返回None,cursor. fetchmany(size=None)接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回

python 全栈 数据库 (三) python操作数据库

python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 1.2使用操作 #导入模块 import pymysql #建立连接通道,建立连接填入(连接数据库的IP地址,端口号,用户名,密码,要操作的数据库,字符编码) conn = pymysql.connect

Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库

1.首先简单介绍一下我们的数据库,thinkphp数据库下有一个tp_user表,然后有四个字段....id,username,password,sex 我们今天的任务就是在Thinkphp下将数据调出来.(增删查改) <?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function select(){ /*这是从数据库里读取数据 * 有select();find();getfield()三种方法 //$m=

JDBC操作数据库的三种方式比较

JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL.oracle.DB2等关系型数据库均是通过JDBC来访问的,现在主流的ORM框架Hibernate.Mybatis等均是在JDBC的基础上做的进一步封装.优化.一般小型的项目,可以直接用JDBC来访问数据库,简单方便.我在进过几个项目后,总结了三总JDBC的基本用法,对这几种用法做一个总结. 第一种

Java_Web三大框架之Hibernate操作数据库(三)

使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射信息,创建SessionFactory SessionFactory sf = conf.buildSessionFactory(); (3)打开Session Session session = sf.openSession(); (4)开始一个事务(增删改操作必须,查询操作可选) Transac

Django的orm操作数据库

Django的orm操作数据库 django学习链接:https://www.cnblogs.com/clschao/articles/10526431.html 单表操作学习链接:https://www.cnblogs.com/clschao/articles/10427807.html about mvc或者mvc框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,