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 getopt模块处理命令行选项实例
May 13 Python
在Python中使用itertools模块中的组合函数的教程
Apr 13 Python
多个应用共存的Django配置方法
May 30 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
pandas DataFrame 行列索引及值的获取的方法
Jul 02 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
django admin组件使用方法详解
Jul 19 Python
python实现大文本文件分割
Jul 22 Python
python名片管理系统开发
Jun 18 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 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 和 COM
2006/10/09 PHP
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
Python中表示字符串的三种方法
2017/09/06 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
python判断自身是否正在运行的方法
2019/08/08 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
关于打架的检讨书
2014/01/17 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
违反交通法规检讨书
2014/09/10 职场文书
运动会加油稿100字
2014/09/19 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
销售开票员岗位职责
2015/04/15 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
python神经网络Xception模型
2022/05/06 Python