Python对数据库的增删改查
#!/usr/bin/env python
import MySQLdb
DATABASE_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工具的使用. 系 ...
随机推荐
- java中一个重要思想:面向对象
面向对象: 1, 面向过程的思想(合适的方法出现在合适的类里面) 准备去一个地方: 先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰... 2, 面向对象的思想 我开着车去, 车怎么去随 ...
- struts-config.xml的配置
1.<struts-config> 元素 <struts-cofnig> 元素是 Struts 配置文件的根元素.<struts-config> 元素有 8 个子 ...
- 1.javascript节点的操作 创建、添加、移除、移动、复制、插入(修改)
(1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节 ...
- 详解CockroachDB事务处理系统
本文提到的一些术语,比如Serializability和Linearizability,解释看Linearizability, Serializability and Strict Serializa ...
- 主机设置ss代理,虚拟机共享代理
代理的原理: 关于代理的具体的书面定义你百度谷歌可以知道.这里,我想简单通过一个例子,说明代理的原理: 假如,你在北京,但你女朋友在广州,你有东西要给你的女朋友,但是正好你这几天公司有事,所以你不能去 ...
- R语言通过loess去除某个变量对数据的影响
当我们想研究不同sample的某个变量A之间的差异时,往往会因为其它一些变量B对该变量的固有影响,而影响不同sample变量A的比较,这个时候需要对sample变量A进行标准化之后才能进行比较.标 ...
- Http学习之使用HttpURLConnection发送post和get请求(1)
最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放 ...
- 写给Android App开发人员看的Android底层知识(8)
(十)PMS及App安装过程 PMS,全称PackageManagerService,是用来获取Apk包的信息的. 在前面分析四大组件与AMS通信的时候,我们介绍过,AMS总是会使用PMS加载包的信息 ...
- 关于用css实现文本和图片垂直水平居中
关于用css实现文本和图片垂直水平居中 一直相信好记性不如烂笔头,最近遇到很多用到垂直居中的,整理一下以便日后查阅. 一.文本垂直水平居中 1.水平居中: 文字水平居中没什么好说的,用text-a ...
- Java泛型学习
1.泛型的概念 泛型即"参数化类型",就比如我们定义方法的时候,定义一个变量,称为形参,变量值根据传进去的实参的值不同而改变.而泛型的出现,就是为了解决类型也能根据传进去的类型改变 ...