python连接mysql数据库示例(做增删改操作)


Posted in Python onDecember 31, 2013

一、相关代码
数据库配置类 MysqlDBConn.py

#encoding=utf-8
'''
Created on 2012-11-12Mysql Conn连接类
'''
import MySQLdb
class DBConn:
    conn = None
    #建立和数据库系统的连接
    def connect(self):
        self.conn = MySQLdb.connect(host="localhost",port=3306,user="house", passwd="house" ,db="house",charset="utf8")
    #获取操作游标
    def cursor(self):
        try:
            return self.conn.cursor()
        except (AttributeError, MySQLdb.OperationalError):
            self.connect()
            return self.conn.cursor()
    def commit(self):
        return self.conn.commit()
    #关闭连接
    def close(self):
        return self.conn.close()

MysqlDemo.py类

#encoding=utf-8
'''
Created on 2012-11-12@author: Steven
Mysql操作Demo
Done:创建表,删除表,数据增、删、改,批量插入
'''
import MysqlDBConn
dbconn = MysqlDBConn.DBConn()
def process():
    #建立连接
    dbconn.connect()
    #删除表
    dropTable()
    #创建表
    createTable()
    #批量插入数据
    insertDatas()
    #单条插入
    insertData()
    #更新数据
    updateData()
    #删除数据
    deleteData()
    #查询数据
    queryData()
    #释放连接
    dbconn.close()
def insertDatas():
    sql = "insert into lifeba_users(name, realname, age) values(%s, %s, %s)"
    tmp = (('steven1', '测试1',26), ('steven2', '测试2',25))
    executemany(sql, tmp)
def updateData():
    sql = "update lifeba_users set realname = '%s' where name ='steven1'"%("测试1修改")
    execute(sql)
def deleteData():
    sql = "delete from lifeba_users where id=2"
    execute(sql)
def queryData():
    sql = "select * from lifeba_users"
    rows = query(sql)
    printResult(rows)
def insertData():
    sql = "insert into lifeba_users(name, realname, age) values('%s', '%s', %s)"%("steven3","测试3","26")
    print sql
    execute(sql)
def executemany(sql, tmp):
    '''插入多条数据'''
    conn=dbconn.cursor()
    conn.executemany(sql, tmp)
def execute(sql):
    '''执行sql'''
    conn=dbconn.cursor()
    conn.execute(sql)
def query(sql):
    '''查询sql'''
    conn=dbconn.cursor()
    conn.execute(sql)
    rows = conn.fetchmany(10)
    return rows
def createTable():
    '''创建表'''
    conn=dbconn.cursor()
    conn.execute('''
    CREATE TABLE `lifeba_users` (
      `ID` int(11) NOT NULL auto_increment,
      `name` varchar(50) default NULL,
      `realName` varchar(50) default NULL,
      `age` int(11) default NULL,
      PRIMARY KEY  (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    ''')
#    dbconn.commit()
def dropTable():
    '''删除表'''
    conn=dbconn.cursor()
    conn.execute('''
    DROP TABLE IF EXISTS `lifeba_users`
    ''')
#    dbconn.commit()
def printResult(rows):
    for row in rows:
        for i in range(0,len(row)):#遍历数组
            print row[i], #加, 不换行打印
        print ''
if __name__ == '__main__':
    process()
Python 相关文章推荐
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
Python实现的多线程端口扫描工具分享
Jan 21 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
PyQt5每天必学之单行文本框
Apr 19 Python
Python实现合并两个列表的方法分析
May 28 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Tensorflow实现酸奶销量预测分析
Jul 19 Python
pygame实现五子棋游戏
Oct 29 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
Python实现中值滤波去噪方式
Dec 18 Python
Python基于Dlib的人脸识别系统的实现
Feb 26 Python
python基础入门之字典和集合
Jun 13 Python
Python抓取Discuz!用户名脚本代码
Dec 30 #Python
python之模拟鼠标键盘动作具体实现
Dec 30 #Python
python多线程http下载实现示例
Dec 30 #Python
python正则匹配查询港澳通行证办理进度示例分享
Dec 27 #Python
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 #Python
python读文件逐行处理的示例代码分享
Dec 27 #Python
python调用cmd复制文件代码分享
Dec 27 #Python
You might like
一个PHP并发访问实例代码
2012/09/06 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python实现保存网页到本地示例
2014/03/16 Python
python编写Logistic逻辑回归
2020/12/30 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
python字符串反转的四种方法详解
2019/12/02 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
大学生大二自我鉴定
2013/10/28 职场文书
座谈会主持词
2014/03/20 职场文书
小露珠教学反思
2014/04/30 职场文书
活动总结格式
2014/08/30 职场文书
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫