python中cursor操作数据库(转)


原文出处:http://doudouclever.blog.163.com/blog/static/175112310201284115340663/

python 操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了。
     操作步骤如下:
    1、建立数据库连接
     import MySQLdb
     conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable")
   cursor=conn.cursor()
    2、执行数据库操作
     n=cursor.execute(sql,param)
     我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.
     这些方法包括两大类:1.执行命令,2.接收返回值
    cursor用来执行命令的方法:
  callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
  execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数
  executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数
  nextset(self):移动到下一个结果集
  cursor用来接收返回值的方法:
  fetchall(self):接收全部的返回结果行.
  fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.
  fetchone(self):返回一条结果行.
  scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一 行移动value条.
    下面的代码是一个完整的例子.
    #使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s
    sql="insert into cdinfo values(%s,%s,%s,%s,%s)"
    #param应该为tuple或者list
    param=(title,singer,imgurl,url,alpha)
    #执行,如果成功,n的值为1
     n=cursor.execute(sql,param)
    #再来执行一个查询的操作
    cursor.execute("select * from cdinfo")
    #我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple
    cds=cursor.fetchall()
    #因为是tuple,所以可以这样使用结果集
    print cds[0][3]
    #或者直接显示出来,看看结果集的真实样子
    print cds
    #如果需要批量的插入数据,就这样做
     sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"
    #每个值的集合为一个tuple,整个参数集组成一个tuple,或者list
     param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))
    #使用executemany方法来批量的插入数据.这真是一个很酷的方法!
     n=cursor.executemany(sql,param)
     需要注意的是(或者说是我感到奇怪的是),在执行完插入或删除或修改操作后,需要调用一下conn.commit()方法进行提交.这样,数据才会真正保 存在数据库中.我不清楚是否是我的mysql设置问题,总之,今天我在一开始使用的时候,如果不用commit,那数据就不会保留在数据库中,但是,数据 确实在数据库呆过.因为自动编号进行了累积,而且返回的受影响的行数并不为0.
     3.关闭数据库连接
     需要分别的关闭指针对象和连接对象.他们有名字相同的方法
     cursor.close()
     conn.close() 
Django操作数据库
     django是一个出色的用于python的web框架。django连接有操作数据库的api,使用起来十分简洁。我们在settings.py中配置好所要连接的数据库,然后在modules、view、urls中分别写好业务逻辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java面试题25 在程序代码中写的注释太多,会使编译后的程序尺寸变大。

java面试题25 在程序代码中写的注释太多,会使编译后的程序尺寸变大。 A:正确 B:错误 蒙蔽树上蒙蔽果,蒙蔽树下你和我 拿到这道题,我觉得说的贼有道理,注释太多,尺寸变大。无疑与就和驾考 一样,遇到路人…

implicit request ?

不了解或不會Action在play framework很難再深入下去, 這是http request的點 以下這段代碼困擾我很久, 如今我才剛了解 Action { implicit request >Ok("Got request [" request "]") } 原文這麼說 It is often useful to mark the request parameter …

SQL开发中容易忽视的一些小地方( 三)

目的:这篇文章我想说说我在工作中关于in和union all 的用法. 索引定义 : 微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集…

java面试题26 java语言的下面几种数组复制方法中,哪个效率最高?

java面试题26 java语言的下面几种数组复制方法中,哪个效率最高? A for 循环逐一复制 B System.arraycopy C Array.copyOf D 使用clone方法 效率:System.arraycopy > clone > Arrays.copyOf > for循环 1、System.arraycopy的用法…

pycharm使用笔记2-远程连接(转)

原文地址:https://blog.csdn.net/jinxiaonian11/article/details/70208920 随着科技的发展,远程办公已经是一种趋势,远程开发能力对于每一个程序员来说都是必不可少的。有时候就算在公司,在进行开发的时候有许多的数据都是储存在服务器上的&a…

第三章 使用属性升级MyBank

1、C#中的访问修饰符: a) public 【公共的】访问不受到任何限制,级别最高。一般用于修饰方法,提供给其他类调用。 b) private 【私有的】只有类的内部可以使用,一般用于修饰字段,保证数据的安全性。 注:如果…

java面试题27 java中下面哪些是Object类的方法()

java面试题27 java中下面哪些是Object类的方法() A notify() B notifyAll() C sleep() D wait() 蒙蔽树上蒙蔽果,蒙蔽树下你和我。遇到这种题,我默默的打开了编译工具 Object类中方法: protected Object clone()…

HK-2000 数采仪系统说明之 7.HK7710 DTU 简单配置说明

DTU配置列表: 1 移动服务中心设置(MSC) 2 终端单元设置 3 网络通道设置 4 用户串口设置 移动服务中心设置(MSC) 一般默认,当需要连接的网络是APN网络是需要配置,该项下的APN接入点信息 MSC设置列表: 1 服务代码 2 P…

shiro学习(1):shiro简介

Apache Shiro是Java的一个安全框架。对比另一个安全框架Spring Sercurity,它更简单和灵活。 Shiro可以帮助我们完成:认证、授权、加密、会话管理、Web集成、缓存等。 Apache Shiro特性 Authentication:身份认证/登录,验证用户是…

是要我向垃圾学习吗

之前把程序给改了,造成程序不能通过编译,然后 领导让我不要乱改,程序那么写肯定是有原因的,照着以前的弄。 我心里那叫一个羊驼,我改的是我自己写的那部分结构,我在编写新功能的逻辑的时候,发现…

微软启动了自爆程序,让我们一起帮它倒计时

……“公元2008年10月20日,注定成为人类信息技术史上不平凡的一天,因为在这一天,曾经创造了无数辉煌的计算机软件帝国微软公司,启动了自爆程序,剩下的,就是倒计时了……” ——《地球人类信息技术编年史》 …

python字典遍历的几种方法(转)

源地址:https://www.cnblogs.com/stuqx/p/7291948.html(1)遍历key值>>> a {a: 1, b: 2, c: 3} >>> for key in a:print(key:a[key])a:1 b:2 c:3 >>> for key in a.keys():print(key:a[key])a:1 b:2 c:3在使用上&a…

shiro学习(2):第一个shiro程序

工具idea 首先创建maven项目 配置文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http…

解决水晶报表部署时出错的问题

我在使用VS2008自带的水晶报表开发一个项目时&#xff0c;遇上这么一个问题&#xff0c;就是在开发环境下运行没有问题&#xff0c;而且在开发的机器上部署发布的项目时也没有问题&#xff0c;但是在服务器上部署发布的项目就出现web.config配置文件出错。 错误报的是&#xff…

用树莓派(等)为 USB Midi 键盘增添连接方式

我在去年买了一个 M-Audio 的 Midi 键盘&#xff0c;用来连接电脑或者 iPad 弹琴。但是由于琴摆放的位置没有办法拉充电线&#xff0c;所以我能弹琴多久很大程度上取决于设备还有多少电。前一阵子从朋友手里白嫖了个橘子派&#xff0c;我就考虑用这个板子给我的 Midi 键盘做个无…

python ftp 上传文档出现 553 Could not create file

报错内容&#xff1a; *cmd* TYPE I*put* TYPE I\r\n*get* 200 Switching to Binary mode.\r\n*resp* 200 Switching to Binary mode.*cmd* PASV*put* PASV\r\n*get* 227 Entering Passive Mode (10,65,252,38,254,125).\r\n*resp* 227 Entering Passive Mode (10,65,252,38,25…

shiro学习(3):用户权限

工具idea 首先创建maven项目 配置文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http…

WPF学习笔记(三)

1.1 事件概括 第一节中我们给窗体添加了一个按钮&#xff0c;不过好像Button点个几下也只有些发光样式的变化&#xff0c;什么你还把系统皮肤去掉了&#xff1f;算了承认下确实够寒碜&#xff0c;那让我们再动动手。 1.1.1 路由事件简述 public HelloWorld() { Button button …

结构体的赋值和初始化与取出结构体变量中的成员

1 /*结构体的赋值和初始化*/2 3 # include <stdio.h>4 5 struct Student 6 {7 int age;8 float score;9 char sex;10 };11 12 int main(void)13 {14 struct Student st { 80, 66.6, F};//定义同时就赋值15 struct Student st2;//下一行不能写一句类似于…

shiro学习(4):shiro认证流程

Shiro登录校验流程实现与分析 什么是Shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 三个核心组件 Subject, Se…