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程序员易犯的错误
Dec 15 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
使用python存储网页上的图片实例
May 22 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
pytorch中图像的数据格式实例
Feb 11 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
matlab灰度图像调整及imadjust函数的用法详解
Feb 27 Python
Python3实现飞机大战游戏
Apr 24 Python
Python如何自动获取目标网站最新通知
Jun 18 Python
详解Python IO编程
Jul 24 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
Pytorch可视化的几种实现方法
Jun 10 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面向对象分析设计的经验原则
2008/09/20 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
js 动态选中下拉框
2009/11/26 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
vuejs如何配置less
2017/04/25 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
几个人围成一圈的问题
2013/09/26 面试题
思想汇报格式
2014/01/05 职场文书
初中体育教学反思
2014/01/14 职场文书
四风存在的原因分析
2014/02/11 职场文书
项目经理任命书范本
2014/06/05 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
初中政治教学工作总结
2015/08/13 职场文书
小学数学国培研修日志
2015/11/13 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python