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中for循环的应用
for 循环是 PHP 中最复杂的循环结构.它的行为和 C 语言的相似.在PHP中使用的是执行相同的代码集的次数. for 循环的语法是: for (expr1; expr2; expr3)state ...
- MySQL高可用方案MHA的部署和原理
MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一 ...
- Mysql5.7忘记root密码及修改root密码的方法
Mysql 安装成功后,输入 mysql --version 显示版本如下 mysql Ver 14.14 Distrib 5.7.13-6, for Linux (x86_64) using 6.0 ...
- JMeter-Eclipse添加自定义函数 MD5加密 32位和16位
最近公司的接口都是MD5 16位加密,所以要使用加密功能. 之前也做过加密,因为用的比较少,所以是写了一个加密方法,导出JAR包,调用的.用起来需要很多设置,并且换算效率也不高.听前同事说,jmet ...
- 【小练习03】CSS-表格(table)--天气预报
表格基础知识链接:http://blog.csdn.net/baidu_37107022/article/details/71713281 练习要求实现如下效果图: 代码演示 <!DOCTYPE ...
- 线程(java课堂笔记)
1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同 ...
- 深入探索C++对象模型(五)
构造.解构.拷贝语意学(Semantics of Construction,Destruction, and Copy) 一般而言,class的data member应该被初始化,并且只在constr ...
- 简单两步快速学会使用Mybatis-Generator自动生成entity实体、dao接口和简单mapper映射(用mysql和oracle举例)
前言: mybatis-generator是根据配置文件中我们配置的数据库连接参数自动连接到数据库并根据对应的数据库表自动的生成与之对应mapper映射(比如增删改查,选择性增删改查等等简单语句)文件 ...
- python编码问题大终结
一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的, ...
- Vulkan Tutorial 16 Command buffers
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 诸如绘制和内存操作相关命令,在Vulkan中不是通过函数直接调用的.我们需要在命令缓 ...