本文章主要来说python对mysql数据库的基本操作,前提是已搭建python环境和Mysql数据库的环境,这里不再详细介绍。在python的命令行环境下看是否可以导入MySQLdb,如果可以导入并且无任何的错误提示,表示已经安装成功了,见截图:

已经很成功的安装了python操作mysql的数据库,在这里,我们详细的介绍对python对mysql的增加,删除,修改和查询的基本操作,这里使用的数据库名称是“day2017”,我们对数据库的操作,首先是创建数据库,然后是在数据库中创建表,在这里,表的名称为:userInfo,见创建好的表字段信息:

创建好数据库以及创建好了数据库中的表以后,下来开始操作数据库,操作数据库的第一步当然是连接数据库,然后是创建游标,接下来是对数据库的各种操作,这里我们先来操作Insert数据的操作,见实现的代码:

查看数据库,可以看到,数据已经插入到数据库中,见查询的结果:

在上面的案例中,只是插入了单条数据,实际上,某些时候,会插入多条数据,也就是批量插入,批量插入实现的代码为:

接下来,我们来查看数据库的查询,数据查询分为二种,一种是查询的结果是一条语句,使用的是fetchone()方法,另外一种是查询的数据结果是多条,使用的方法是fetchmany(),我们分别来看这二个方法的使用,我们先来看单条数据的查询,见实现的代码:

多条数据的查询,见实现的代码:

下面我们来看更新语句的测试,见实现的代码:

最后一步,也就是删除数据了,直接看如下的实现代码:

事实上,对于如上操作数据库的方式,有很多的代码是可以重够的,比如连接数据库的方式,另外,我们可以把操作数据库的方式写在一个类里面,在业务调用的时候直接调用我们的数据库方法进行操作,见下面操作mysql数据库的方法,见源码:

#!/usr/bin/env python
#coding:utf-8
import MySQLdb
class MySQLHelper(object):
def __init__(self):
pass
def get_one(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='server',db='day2017')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchone()
cur.close()
conn.close()
return data
def get_many(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='server',db='day2017')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchall()
cur.close()
conn.close()
return data
def insert_one(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='server', db='day2017')
cur = conn.cursor()
cur.execute(sql, params)
conn.commit()
cur.close()
return u'插入数据库成功'
def insert_many(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='server', db='day2017')
cur = conn.cursor()
cur.executemany(sql, params)
conn.commit()
cur.close()
return u'批量插入数据库成功'
def update_one(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='server', db='day2017')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'更新数据库成功'
def delete_one(self,sql,params):
conn = MySQLdb.connect(host='127.0.0.1', user='root', passwd='server', db='day2017')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'删除数据库成功'

把连接数据库部分进行重构,放到一个config.py的文件中,这样我们连接数据库的方法就只需要在config.py文件维护了,而不需要在如上代码中每个都得看的修改,这实在是很糟糕,见重构后的config.py文件源码:

#!/usr/bin/env python
#coding:utf-8
conn_dict=dict(host='127.0.0.1', user='root', passwd='server', db='day2017')

见重构后操作mysql的数据库方法,见源码:

#!/usr/bin/env python
#coding:utf-8
import MySQLdb
import config
class MySQLHelper(object):
def __init__(self):
self.conn=config.conn_dict
def get_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchone()
cur.close()
conn.close()
return data
def get_many(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchall()
cur.close()
conn.close()
return data
def insert_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor()
cur.execute(sql, params)
conn.commit()
cur.close()
return u'插入数据库成功'
def insert_many(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor()
cur.executemany(sql, params)
conn.commit()
cur.close()
return u'批量插入数据库成功'
def update_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'更新数据库成功'
def delete_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'删除数据库成功'

写数据库的操作方法,是为了进行对业务的操作,要不仅仅写这些没什么实际的意义,如我们实现输入用户名和密码,在在数据库中验证,如果用户名和密码都是admin,那么通过,如果有其中一个不是admin,就提示用户,请提示用户用户名或者密码错误,下面来实现这样的一个过程,见实现的源码:

#!/usr/bin/env python
#coding:utf-8
import MySQLdb
import config
class MySQLHelper(object):
def __init__(self):
self.conn=config.conn_dict
def get_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchone()
cur.close()
conn.close()
return data
def get_many(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
retCount = cur.execute(sql,params)
data = cur.fetchall()
cur.close()
conn.close()
return data
def insert_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor()
cur.execute(sql, params)
conn.commit()
cur.close()
return u'插入数据库成功'
def insert_many(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor()
cur.executemany(sql, params)
conn.commit()
cur.close()
return u'批量插入数据库成功'
def update_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'更新数据库成功'
def delete_one(self,sql,params):
conn = MySQLdb.connect(**self.conn)
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
ret = cur.execute(sql, params)
conn.commit()
cur.close()
conn.close()
return u'删除数据库成功'
class CheckUserInfo(object):
def __init__(self):
self.__helper=MySQLHelper()
def checkValid(self,username,password):
sql='select * from userInfo where username=%s and password=%s'
params=(username,password)
return self.__helper.get_one(sql,params)
def info():
username=raw_input(u'请输入你的用户名:n')
password=raw_input(u'请输入你的密码:n')
userInfo=CheckUserInfo()
result=userInfo.checkValid(username,password)
if not result:
print u'用户名或者密码错误,请联系管理员'
else:
print u'恭喜您,输入正确!'
if __name__=='__main__':
info()

mysql 批量删除_Python接口测试之对MySQL的增、删、改、查操作(五)相关推荐

  1. mysql數據庫的增刪改查_MySQL數據庫之基礎增刪改查操作

    作者:        守望幸福 最后修改日期:2014-7-27 所操作的MySQL數據庫名:firstdb 所用的兩個表結構如下: student表 number name socre born_d ...

  2. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  3. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  4. python_操作MySQL 初解 之__类方法调用并 增-删-改-查

    文件一: 调用(sqls文件) 1 # 导入模块 2 import pymysql 3 from sqls import * 4 # 创建类 5 class KaoShi(object): 6 7 # ...

  5. mysql 批量删除同一前缀的表

    mysql 批量删除同一前缀的表 mysql中还没有现成的工具可以实现批量删除相同前缀的表,所以我们可以通过构造语句来进行删除. 1.全部删除 将某个数据库下相同前缀的表全部删除,使用如下构造语句: ...

  6. Unity使用Mysql(添/删/改/查)(保姆级)

    Unity使用Mysql添/删/改/查/保姆级 UnityDemo版本 数据库下载地址教程 可视化窗口下载教程 使用可视化窗口 dll下载地址 本次Demo下载地址 本项目脚本 SqlHelper M ...

  7. Mysql批量删除大量数据

    一.Mysql批量删除大量数据 方案1 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE ...

  8. mysql批量删除5000条数据_mysql批量删除大量数据

    mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM s ...

  9. IDEA中使用Java语言连接MySQL,实现增、删、查操作

    IDEA中使用Java语言连接MySQL,实现增.删.查操作 连接条件 想要连接MySQL数据库首先需要一个mysql-connector-java-8.0.25.jar包 [官网下载](MySQL ...

最新文章

  1. 写代码时发现......还得是 SpringBoot !一篇拿下
  2. 糟了,生产环境MySQL主从数据库不一致怎么办?!
  3. GPB:菊粉改善糖脂代谢紊乱作用的机制(作者解读)
  4. UA MATH575B 数值分析下 统计物理的随机模拟方法5
  5. boost::proto::display_expr相关的测试程序
  6. json添加元素 vue_详解通过JSON数据使用VUE.JS
  7. 学习java的经典书籍
  8. 前端学习(1560):ng-class颜色切换
  9. windows7系统如何设置远程连接
  10. CSDN 请勿使用默认标题 解决方案
  11. Java并发编程之AbstractQueuedSychronizer(抽象队列同步器,简称AQS)
  12. MVC TIP7:自定义IHttpModule、IRouteHandler实现路由调试
  13. android悬浮窗工具,Android悬浮窗实例
  14. nginx服务器添加微信小程序校验文件
  15. 当yum安装包时显示系统空间不足,求指教
  16. c语言里strcpy作用是什么,strcpy函数的作用是什么?
  17. Java程序员月薪30K和月薪3K差别在哪?
  18. 拉丁超立方采样的思想和代码
  19. android 多个按键精灵,给大家分享一个,按键精灵安卓版,找多图, 以及找多图返回多个坐标的,相信大家绝对用得到 _ 按键精灵手机版 - 按键精灵论坛...
  20. 转载:香港实习生微软实习经验分享

热门文章

  1. c语言1000行代码,【图片】【标题党】论我是如何一分钟写1000行代码的【c语言吧】_百度贴吧...
  2. 2021 ACDU China Tour-北京站暨数据库大咖讲坛(第3期)成功举办!(附PPT下载)
  3. MySQL启动关闭服务巨慢,这样解决!
  4. MongoDB DBA常用的NoSQL语句(全)
  5. 华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型
  6. 【华为云技术分享】网络场景AI模型训练效率实践
  7. 【华为云技术分享】文字识别服务(OCR)基于对抗样本的模型可信安全威胁分析初析
  8. Head First设计模式读书笔记六 第七章下 外观模式
  9. Android笔记 检测网络状态
  10. Python基础知识学习笔记——Matplotlib绘图