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中使用itertools模块中的组合函数的教程
Apr 13 Python
Python中使用partial改变方法默认参数实例
Apr 28 Python
详解Python命令行解析工具Argparse
Apr 20 Python
python利用正则表达式提取字符串
Dec 08 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
Python的互斥锁与信号量详解
Sep 12 Python
python画微信表情符的实例代码
Oct 09 Python
python的range和linspace使用详解
Nov 27 Python
Django基于客户端下载文件实现方法
Apr 21 Python
详解python logging日志传输
Jul 01 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
用python获取txt文件中关键字的数量
Dec 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 静态变量的初始化
2009/11/15 PHP
PHP 事件机制(2)
2011/03/23 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
2013/12/30 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JavaScript中的this机制
2016/01/30 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
深入浅析python继承问题
2016/05/29 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
学习Django知识点分享
2019/09/11 Python
remote接口和home接口主要作用
2013/05/15 面试题
市级绿色学校申报材料
2014/08/25 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫