Python对数据库的增删改查
#!/usr/bin/env pythonimport MySQLdbDATABASE_NAME = 'hero'class HeroDB: # init class and create a database def __init__(self, name, conn, cur): self.name = name self.conn = conn self.cur = cur try: cur.execute('create database if not exists ' + name) conn.select_db(name) conn.commit() except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # create a table def createTable(self, name): try: ex = self.cur.execute if ex('show tables') == 0: ex('create table ' + name + '(id int, name varchar(20), sex int, age int, info varchar(50))') self.conn.commit() except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # insert single record def insert(self, name, value): try: self.cur.execute('insert into ' + name + ' values(%s,%s,%s,%s,%s)', value) except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # insert more records def insertMore(self, name, values): try: self.cur.executemany('insert into ' + name + ' values(%s,%s,%s,%s,%s)', values) except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # update single record from table # name: table name # values: waiting to update data def updateSingle(self, name, value): try: # self.cur.execute('update ' + name + ' set name=' + str(values[1]) + ', sex=' + str(values[2]) + ', age=' + str(values[3]) + ', info=' + str(values[4]) + ' where id=' + str(values[0]) + ';') self.cur.execute('update ' + name + ' set name=%s, sex=%s, age=%s, info=%s where id=%s;', value) except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # update some record from table def update(self, name, values): try: self.cur.executemany('update ' + name + ' set name=%s, sex=%s, age=%s, info=%s where id=%s;', values) except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # get record count from db table def getCount(self, name): try: count = self.cur.execute('select * from ' + name) return count except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # select first record from database def selectFirst(self, name): try: self.cur.execute('select * from ' + name + ';') result = self.cur.fetchone() return result except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # select last record from database def selectLast(self, name): try: self.cur.execute('SELECT * FROM ' + name + ' ORDER BY id DESC;') result = self.cur.fetchone() return result except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # select next n records from database def selectNRecord(self, name, n): try: self.cur.execute('select * from ' + name + ';') results = self.cur.fetchmany(n) return results except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # select all records def selectAll(self, name): try: self.cur.execute('select * from ' + name + ';') self.cur.scroll(0, mode='absolute') # reset cursor location (mode = absolute | relative) results = self.cur.fetchall() return results except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # delete a record def deleteByID(self, name, id): try: self.cur.execute('delete from ' + name + ' where id=%s;', id) except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # delete some record def deleteSome(self, name): pass # drop the table def dropTable(self, name): try: self.cur.execute('drop table ' + name + ';') except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) # drop the database def dropDB(self, name): try: self.cur.execute('drop database ' + name + ';') except MySQLdb.Error, e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) def __del__(self): if self.cur != None: self.cur.close() if self.conn != None: self.conn.close()Python对数据库的增删改查的更多相关文章
- python通过pymysql实现数据库的增删改查
今天实现了python对于数据库的增删改查工作: 具体的每一步的数据库的增删盖茶自己都实验过了. 掌握了基本的数据库操作语言.然后就是对于tuple()的认识. 以及对于查询语句中的:fetchone ...
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- python代理池的构建4——mongdb数据库的增删改查
上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...
- python web.py操作mysql数据库,实现对数据库的增删改查操作
使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...
- python测试开发django-13.操作数据库(增删改查)
前言 django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢? 本篇详细讲解django操作mysql数 ...
- 9.5Django操作数据库的增删改查
2018-9-5 18:10:52 先贴上笔记 day61 2018-04-28 1. 内容回顾 1. HTTP协议消息的格式: 1. 请求(request) 请求方法 路径 HTTP/1.1\r\n ...
- ThinkPHP实现对数据库的增删改查
好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...
- Android学习---数据库的增删改查(sqlite CRUD)
上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...
- Android 系统API实现数据库的增删改查和SQLite3工具的使用
在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...
随机推荐
- Maven学习-优化和重构POM
在一个复杂的项目中,项目的各个模块存在各种相互依赖关系.优化一个多模块项目的POM最好通过几步来做.总的来说,我们总是寻找一个POM中的重复或者多个兄弟POM中的重复.在多模块项目中依赖重复的模式主要 ...
- 设计模式--代理模式(C++版)
一:代理模式简介 专业版描述:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 戏剧性描述: ...
- Combine Two Tables
Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...
- 011一对一 唯一外键关联映射_单向(one-to-one)
² 两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ² 有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库 ...
- MySQL全文检索初探
本文目的 最近有个项目需要对数据进行搜索功能.采用的LAMP技术开发,所以自然想到了MySQL的全文检索功能.现在将自己搜集的一些资料小结,作为备忘. MySQL引擎 据目前查到的资料,只有MyISA ...
- reshape: from long to wide format(转)
This is to continue on the topic of using the melt/cast functions in reshape to convert between long ...
- Python有哪些好用的语言翻译方法
最近有个需求,要将几万条数据从日语翻译成中文.因为数据的获取和处理用的是python代码,所以想先尝试翻译部分也用python实现. 目前网上查到的翻译方法有百度.有道云以及谷歌翻译,下面会对这三个方 ...
- hdu3622
hdu3622 题意 每回合给定两个坐标点,可以选择一个放置炸弹,自己决定炸弹的半径,问 n 个回合后,使炸弹半径最小值最大. 分析 存在对立关系:每回合只能选择一个地方放置炸弹.i 表示 第一个位置 ...
- spring.handlers、spring.schemas、spring.tooling被覆盖的三种解决方式
在用到spring时,本地IDE里面跑的很正常,但是打jar包后在集群上运行时报错. 查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,每个包都有自己的spring.schemas文 ...
- Coursera 机器学习笔记(五)
主要第七周的内容:支持向量机 可以参考JerryLeed 的支持向量机SVM系列博客http://www.cnblogs.com/jerrylead 以及 pluskid的支持向量机系列博客http: ...