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 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
python opencv之SIFT算法示例
Feb 24 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
Pytorch之finetune使用详解
Jan 18 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
基于FME使用Python过程图解
May 13 Python
python 爬取华为应用市场评论
May 29 Python
python中的getter与setter你了解吗
Mar 24 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
JQuery live函数
2010/12/24 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
JavaScript多线程详解
2015/08/12 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
Python删除windows垃圾文件的方法
2015/07/14 Python
详解Python编程中time模块的使用
2015/11/20 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python基础教程之异常详解
2019/01/10 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
工程部经理岗位职责
2013/12/08 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
股份合作协议书
2014/09/10 职场文书
企业党员个人自我评价
2014/09/20 职场文书
学习与创新自我评价
2015/03/09 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android