一、安装(环境win7 、python2.7)
Python2.x 版本,使用MySQL-python:
安装包:MySQL-python-1.2.5.win32-py2.7.exe(双击安装)

下载地址:https://pypi.python.org/pypi/MySQL-python

二、代码
#coding:utf-8
#执行sql:execute、executmany(合理调用executmany,将多个insert放在一起,只执行一次IO,可以有效的提升数据库性能,但executmany不能一次数据量过大)
#cur.execute(ssql) #执行sql(一次仅能执行一条)
#conn.rollback() #回滚(commit前可做相应回滚,commit后无法再robllback)
#conn.commit() #提交到数据库执行(支持事务的存储引擎,需要commit,才真正写入数据库,执行多条sql后再一次调用 commit,可以适当提升性能)
#提取数据:fetchone、fetchall、fetchmany
# cur.fetchone()
#result=cur.fetchall() #结果集
#for row in result:
#print result[0][1]
#print "Nuber of rows returned: %d" %cur.rowcount #打印总条数,%d:输出整数格式
import MySQLdb
import MySQLdb.cursors
import time #################连接数据库
#连接数据库 ,MySQLdb.Connect(host ,user , passw , db)
class DbOperation():
def __init__(self,host,user,passwd,db):
self.db_error_msg=None
self.db_result=True
self.conn=''
self.host=host
self.user=user
self.passwd=passwd
self.db=db
try:
self.conn=MySQLdb.Connect(self.host,self.user,self.passwd,self.db)
#return self.conn
except MySQLdb.OperationalError as e:
self.db_error_msg=u'连接数据库' + self.conn.user + u'失败!'
self.db_result=False #################insert
#join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串
def insert(self,table_name,data):
for key in data: #for循环遍历字典data的键值key
data[key]="'"+str(data[key])+"'" #data[key] :获取key相应元素的值
key=','.join(data.keys()) #字典的元素
value=','.join(data.values()) #字典的元素的值
isql="INSERT INTO " + table_name + " (" + key + ") VALUES (" + value + ")"
cur=self.conn.cursor()
cur.execute(isql)
self.conn.commit() #################执行sql操作
def exesql(self,sql):
self.db_result=True
cur=self.conn.cursor()
try:
cur.execute(sql)
print "Nuber of rows returned: %d" %cur.rowcount
except Exception,msg:
self.db_error_msg = u'执行sql语句出错:' + sql
self.db_result = False
return False #################关闭
def close(self):
self.conn.close() if __name__=='__main__':
db1=DbOperation('10.118.55.106','test01','123456','test')
sql="select * from ts_user"
table_name="ts_user"
data={'user_id':200000012,'username':100000,'type_code':1,'status':1} #字典
db1.insert(table_name,data)
db1.exesql(sql)
db1.close()

python mysqldb 模块学习的更多相关文章

  1. python - argparse 模块学习

    python - argparse 模块学习 设置一个解析器 使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数.那么当你的程序运行时,该解析器就可以用于处理命令行参数. 解 ...

  2. Python MySQLdb模块连接操作mysql数据库实例_python

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  3. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  4. Python logging 模块学习

    logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...

  5. Python time模块学习

    Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...

  6. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

  7. Python MySQLdb 模块

    MySQLdb 是 Python2 连接 MySQL 的一个模块,常见用法如下: [root@localhost ~]$ yum install -y MySQL-python # 安装 MySQLd ...

  8. python logging模块学习(转)

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

  9. python atexit模块学习

    python atexit模块 只定义了一个register模块用于注册程序退出时的回调函数,我们可以在这个函数中做一下资源清理的操作 注:如果程序是非正常crash,或者通过os._exit()退出 ...

随机推荐

  1. POJ 2472 106 miles to Chicago

    最短路问题变形. 题意是给你一些道路,和路过时不被抓的概率. 要求找一条到达目的地时不被抓的最大概率概率. 初始 dis[]设为 1 .其余为 0 .找最大就可以. #include<cstdi ...

  2. ecmall的物流配送体系改造

    接触多了ecshop.ecmall原始逻辑的,一般都习惯以整单的方式统一计算运费,这是一种很简单的思路. 但淘宝多了,就发现,物流运费没有那么简单. 首先,每种商品单独设置运费的体系,或者叫运费模板: ...

  3. Supervisord常见用法和介绍

    Supervisord是用Python实现的一款非常实用的进程管理工具.supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启.关闭.重启等操作,而且它管理的进程 ...

  4. 【shell】tar命令详解

    tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件! ...

  5. 批量上传文件到HDFS的Shell脚本

    在做Hadoop数据挖掘项目的时候,我们第一步是源数据的获取,即把相应的数据放置到HDFS中,以便Hadoop进行计算,手动将文件上传到HDFS中,未免太费时费力,所以我们可以采取像Flume一样的框 ...

  6. ParseChat应用源代码ios版

    ParseChat是一个全然原生的iPhone应用程序.用于创建实时的.基于文本的Parse聊天室.功能:支持多台设备之间的实时聊天,可动态加入新的聊天室,支持基本配置,可发送和接收音效以及随意大小的 ...

  7. vmware 虚拟机下 ubuntu 与主机共享锐捷

    一直以来.想要学习 linux ,在 vm 虚拟机下安装了 ubuntu 系统. 可是这个系统并不能上网.原因就是 vm 虚拟机的虚拟网卡会和锐捷冲突.锐捷会检測到多网卡,断开网络,所以不得不禁用 v ...

  8. 俄罗斯方块——shell

    #!/bin/bash # Tetris Game # xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_ ...

  9. 【BZOJ3813】奇数国 线段树+欧拉函数

    [BZOJ3813]奇数国 Description 给定一个序列,每次改变一个位置的数,或是询问一段区间的数的乘积的phi值.每个数都可以表示成前60个质数的若干次方的乘积. Sample Input ...

  10. iOS section 随tableview一起滚动

    @interface YGSectionHeaderView : UIView @property NSUInteger section; @property (nonatomic, weak) UI ...