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基础教程之缩进介绍
Aug 29 Python
Python实现时钟显示效果思路详解
Apr 11 Python
django如何连接已存在数据的数据库
Aug 14 Python
python实现批量注册网站用户的示例
Feb 22 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
python三大神器之fabric使用教程
Jun 10 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
Python数据持久化存储实现方法分析
Dec 21 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 28 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
Pandas数据类型之category的用法
Jun 28 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
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
javascript的BOM汇总
2015/07/16 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Python装饰器基础详解
2016/03/09 Python
Python pandas常用函数详解
2018/02/07 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
教师党员思想汇报
2014/01/06 职场文书
基层工作经历证明
2014/01/13 职场文书
家长对孩子评语
2014/01/30 职场文书
小学生开学感言
2014/02/28 职场文书
企业文化口号
2014/06/12 职场文书
检讨书范文2000字
2015/01/28 职场文书
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
Pandas数据结构之Series的使用
2022/03/31 Python
微信小程序实现轮播图指示器
2022/06/25 Javascript