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之坑爹的字符编码
Sep 28 Python
详解python中的文件与目录操作
Jul 11 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Python实现的购物车功能示例
Feb 11 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
Python callable内置函数原理解析
Mar 05 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
python基于socket函数实现端口扫描
May 28 Python
Python利用命名空间解析XML文档
Aug 10 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
Python requests上传文件实现步骤
Sep 15 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中的(伪)多线程与多进程
2013/07/01 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
详解python中递归函数
2019/04/16 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
雷锋的故事观后感
2015/06/10 职场文书
父母教会我观后感
2015/06/17 职场文书
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python