今天实现了python对于数据库的增删改查工作:

具体的每一步的数据库的增删盖茶自己都实验过了。

掌握了基本的数据库操作语言。然后就是对于tuple()的认识。

以及对于查询语句中的:fetchone、fetchmany、fetchall

fetchone():获取下一行数据,第一次为首行;

fetchall():获取所有行数据源

fetchmany(4):获取4行数据

默认情况下,我们获取到的返回值是元组,只能看到每行的数据,却不知道每一列代表的是什么,这个时候可以使用以下方式来返回字典,每一行的数据都会生成一个字典:

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  #在实例化的时候,将属性cursor设置为pymysql.cursors.DictCursor

在fetchone示例中,在获取行数据的时候,可以理解开始的时候,有一个行指针指着第一行的上方,获取一行,它就向下移动一行,所以当行指针到最后一行的时候,就不能再获取到行的内容,所以我们可以使用如下方法来移动行指针:

cursor.scroll(1,mode='relative')  # 相对当前位置移动

cursor.scroll(2,mode='absolute') # 相对绝对位置移动

第一个值为移动的行数,整数为向下移动,负数为向上移动,mode指定了是相对当前位置移动,还是相对于首行移动

具体自己实验过得代码如下:(代码中的所有方法都经过测试可行)

#import pymysql
#user = input('请输入用户名:')
#pwd1 = input('请输入密码1:')
#pwd2 = input('请输入密码2:')
# .连接
#conn = pymysql.connect("localhost", "root", "", "student", charset='utf8')
# .创建游标
#cursor = conn.cursor()
# .创建游标
#cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 注意%s需要加引号
###########################################对于查询
#fetch数据类型关于默认获取的数据是元祖类型,如果想要或者字典类型的数据
# 游标设置为字典类型
#cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
#cursor.execute("select * from tb7")
#row_1 = cursor.fetchone()
#print(row_1)的结果为 {u'licnese': , u'user': '', u'nid': , u'pass': ''}
##############################################进行查询的相关操作
#区间查询
#sql = "select * from text where zhanghu ='%s' and sex between '%s' and '%s'" % (user, pwd1,pwd2)
#多条件查询
#sql = "select * from text where zhanghu ='%s' and sex='%s'" % (user, pwd1)
# .执行sql语句
#result = cursor.execute(sql) # 执行sql语句,返回sql查询成功的记录数目
#print(result)
# 获取剩余结果的第一行数据
#row_1 = cursor.fetchone()
#print(row_1)#z只能通过row_1[]等输出各项
# 获取剩余结果前n行数据
# row_2 = cursor.fetchmany()
# 获取剩余结果所有数据
# row_3 = cursor.fetchall()
#row_3 = cursor.fetchall()
#print(row_3[][])
# 关闭连接,游标和连接都要关闭
#cursor.close()
#conn.close()
#if result:
# print('登陆成功')
#else:
# print('登录失败')
#########################################################进行数据的增加
#a1=input("输入姓名")
#a2=input("输入密码")
#((a1,a2),("dazhi666",""))与[(a1,a2),("dazhi666","")]都可以
#也可以使用sql和tuple(valuesList)进行操作
#effect_row = cursor.executemany("insert into text(zhanghu,sex)values(%s,%s)", ((a1,a2),("dazhi666","")))
#print(effect_row)
#conn.commit()
#cursor.close()
#conn.close()
#获取最后一个的自增id
#new_id = cursor.lastrowid
#print (new_id)
###################################################################数据库修改
#q1=input("shuru1")
#q2=input("shuru2")
#sql = "update text set zhanghu = %s where sex = %s"
#effect_row = cursor.execute(sql,(q1,q2))
#print(effect_row)
# 一定记得commit
#conn.commit()
# .关闭游标
#cursor.close()
# .关闭连接
#conn.close()
#################################################################数据库删除
#wen=input("shuru")
#wen2=input("shurud")
#sql = "delete from text where sex = %s"
#sql = "delete from text where sex between %s and %s"
#effect_row = cursor.execute(sql,(wen,wen2))
#print(effect_row)
# 一定记得commit
#conn.commit()
# .关闭游标
#cursor.close()
# .关闭连接
#conn.close()
######################################################################查询操作的字典行为
#sql = 'select * from text'
#cursor.execute(sql)
# 查询第一行的数据
#row = cursor.fetchone()
#print(row)
#print(row["zhanghu"])输出某一个元素的值
# 查询第二行数据
#row = cursor.fetchone()
#print(row)
#cursor.scroll(-, mode='relative') # 设置之后,光标相对于当前位置往前移动了一行,所以打印的结果为第二行的数据
#row = cursor.fetchone()
#print(row)
#cursor.scroll(, mode='absolute') # 设置之后,光标相对于首行没有任何变化,所以打印的结果为第一行数据
#row = cursor.fetchone()
#print(row)
# .关闭游标
#cursor.close()
# .关闭连接
#conn.close()

python通过pymysql实现数据库的增删改查的更多相关文章

  1. MySQL数据库(五)使用pymysql对数据库进行增删改查

    折腾好半天的数据库连接,由于之前未安装 pip ,而且自己用的python 版本为3.6. 只能用 pymysql 来连接数据库,(如果有和我一样未安装 pip 的朋友请 点这里http://blog ...

  2. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  3. python脚本对 mysql数据库进行增删改查操作

    # -*- coding: utf-8 -*-import pymysqlimport xlrd# import codecsconn = pymysql.connect(host='127.0.0. ...

  4. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  5. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  6. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  7. python代理池的构建4——mongdb数据库的增删改查

    上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...

  8. python web.py操作mysql数据库,实现对数据库的增删改查操作

    使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...

  9. python测试开发django-13.操作数据库(增删改查)

    前言 django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢? 本篇详细讲解django操作mysql数 ...

随机推荐

  1. Python3学习之路~9.3 GIL、线程锁之Lock\Rlock\信号量、Event

    一 Python GIL(Global Interpreter Lock) 全局解释器锁 如果一个主机是单核,此时同时启动10个线程,由于CPU执行了上下文的切换,让我们宏观上看上去它们是并行的,但实 ...

  2. mysql事务原理及MVCC

    mysql事务原理及MVCC 事务是数据库最为重要的机制之一,凡是使用过数据库的人,都了解数据库的事务机制,也对ACID四个 基本特性如数家珍.但是聊起事务或者ACID的底层实现原理,往往言之不详,不 ...

  3. mybatis入门详解

    一.mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  4. 趣学Spring:一文搞懂Aware、异步编程、计划任务

    你好呀,我是沉默王二,一个和黄家驹一样身高,刘德华一样颜值的程序员(不信围观朋友圈呗).从 2 位偶像的年纪上,你就可以断定我的码龄至少在 10 年以上,但实话实说,我一直坚信自己只有 18 岁,因为 ...

  5. nop 配置阿里cdn 联通4g 页面显示不全 查看源代码发现被截断

    开发中遇见特别诡异的问题, 项目使用nop框架,pavilion主题,之后配置阿里cdn,然后在联通4g的情况下苹果手机网页显示不完全,nop首页和产品详情页都是如此,排查过程: 1.阿里cdn设置了 ...

  6. Swagger2在DBA Service中生成RESTful API的实践

    目的与背景: 目的:对外暴露DBA Service必要的RESTful API,形成规整的API文档 背景:DBA Service后端采用Spring-boot,属于Spring家族,故生成API的工 ...

  7. Spring03——有关于 Spring AOP 的总结

    本文将为各位带来 Spring 的另一个重点知识点 -- Spring AOP.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识点. 什么是 AOP 面向切面编程 ...

  8. OpenCV-Python 图像上的算术运算 | 十一

    目标 学习图像的几种算术运算,例如加法,减法,按位运算等. 您将学习以下功能:cv.add,cv.addWeighted等. 图像加法 您可以通过OpenCV函数cv.add()或仅通过numpy操作 ...

  9. 045.集群存储-CSI存储机制

    一 CSI存储机制 1.1 CSI简介 Kubernetes从1.9版本开始引入容器存储接口Container Storage Interface(CSI)机制,用于在Kubernetes和外部存储系 ...

  10. Html,Css遇到的bug2020031601

    td,里面jquery设置height,设置成功也没有效果. div可以成功设置,并产生效果. 可能是td,div有一些隐藏的特性不同导致的.