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基础教程之自定义函数介绍
Aug 29 Python
Python操作MySQL简单实现方法
Jan 26 Python
Python制作exe文件简单流程
Jan 24 Python
Python中按值来获取指定的键
Mar 04 Python
Django框架 信号调度原理解析
Sep 04 Python
python处理document文档保留原样式
Sep 23 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
python线程池如何使用
May 28 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
BeautifulSoup获取指定class样式的div的实现
Dec 07 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
如何选择适合你的JavaScript框架
2017/11/20 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Vue基础学习之项目整合及优化
2019/06/02 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
用 Python 制作地球仪的方法
2020/04/24 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
暑假实习求职信范文
2013/09/22 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
小学运动会报道稿
2015/07/22 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python