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的urllib模块显示下载进度示例
Jan 17 Python
python中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
Python中基础的socket编程实战攻略
Jun 01 Python
Python中音频处理库pydub的使用教程
Jun 07 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
python 日志 logging模块详细解析
Mar 31 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
python 下载文件的多种方法汇总
Nov 17 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采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
js运动应用实例解析
2015/12/28 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
聚美优品广告词改编
2014/03/14 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
机动车登记业务委托书
2014/10/08 职场文书
个人存款证明书
2014/10/18 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
民间借贷被告代理词
2015/05/23 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书