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的源码来解析Python下的freeblock
May 11 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
python编写微信远程控制电脑的程序
Jan 05 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
python将字母转化为数字实例方法
Oct 04 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 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
php多线程实现方法及用法实例详解
2015/10/26 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python实现的彩票机选器实例
2015/06/17 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
六年级学生评语
2014/04/22 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS