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工具的使用. 系 ...
随机推荐
- php jquery+ajax写批量删除
为了美观,我还是引入了bootstrap的模态框,我引入的是自己的数据库 library中的一张表 名为:maninfo表 是一张个人信息表 表的加载我就不写了,比较简单, 大概写一下需要的按 ...
- 【JAVAWEB学习笔记】28_jquery加强:json数据结构、jquery的ajax操作和表单校验插件
Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用 一.json数据结构 1.什么是json JSON(Jav ...
- yum 安装rabbitMQ
环境:linux centos6.5 1.安装erlang 下载rpm仓库:wget http://packages.erlang-solutions.com/erlang-solutions-1.0 ...
- 第1 章MySQL 基本介绍
第 1 章 MySQL 基本介绍 前言: 作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了.但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介 ...
- BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)
Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...
- web工作过程
了解浏览器与服务器进行通信和访问的过程 打开浏览器-输入URL地址 当我们访问一个网页时,如http://www.baidu.com,这个网址包含四个部分的内容: 1.第一部分:协议类型:这里是htt ...
- Webdriver+Java实现使用cookie跳过登录
Webdriver+Java实现使用cookie跳过登录 Webdriver模拟登录过程中很有可能遇到验证码,最近认真学习了下如何使用cookie直接跳过登录过程. 一.cookie的定义 来源百 ...
- 3D图片变换
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- Java泛型学习
1.泛型的概念 泛型即"参数化类型",就比如我们定义方法的时候,定义一个变量,称为形参,变量值根据传进去的实参的值不同而改变.而泛型的出现,就是为了解决类型也能根据传进去的类型改变 ...
- windows 配置 Scheme + Emacs 编程环境
软件下载列表: Emacs Racket (这里使用 Racket ,更加方便,便于后面配置 Emacs) 配置 安装好 Emacs 后,在 C:\Users\用户名\AppData\Roaming\ ...