首先需要导入通过import pymysql导入数据库模块

已经创建好一个数据库test,数据库中有一个空表t,只有两个字段id int(5),name varchar(20)

import pymysql

conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='oldboy',db='test')  #创建与数据库的连接对象,需要指明数据库所在主机ip、端口、登录用户名、登录密码、使用数据库
cursor=conn.cursor() #创建与数据库的交互对象
sql1="insert into t values (1,'Jack'), (2,'Bob'), (3,'Alice'),(4,'Jane')"
cursor.execute(sql1) #通过交互对象执行sql语句 conn.commit() #通过连接对象提交修改
cursor.close() #关闭交互对象
conn.close() #关闭连接对象

以上,conn=句为创建与数据库的连接对象,cursor=句为创建与数据库的交互对象

conn.commit()为提交修改即将修改记录到数据库中,cursor.close()和conn.close()为关闭交互对象和连接对象。

sql2="select * from t"
cursor.execute(sql2)
print(cursor.execute(sql2)) #结果为执行sql2语句影响的记录数
print(cursor.fetchone()) #取execute(sql2)执行结果的第一条记录
#print(cursor.fetchmany(2)) 取执行结果的前2条记录
#print(cursor.fetchall()) 取执行结果的所有记录

通过cursor.execute执行查询语句后,查询结果会放置到cursor中,可通过fetchone()、fetchmany()和fetchall()从cursor获取值,在取值的过程中,游标会自动地向后移动。

手动移动游标的位置,通过cursor.scroll(n,mode=[relative|absolute])实现。

sql2="select * from t"
cursor.execute(sql2)
print(cursor.fetchmany(2)) #((1, 'Jack'), (2, 'Bob'))
cursor.scroll(-1,mode='relative')
print(cursor.fetchone()) #(2, 'Bob')
cursor.scroll(3,mode='absolute')
print(cursor.fetchone()) #(4, 'Jane')

相对位置移动游标位置:cursor.scroll(-1,mode='relative'),使用mode='relative',前面的数据参数如果为负表示相对当前位置向前移动指定数量的游标,为正则表示相对当前位置向后移动指定数量的游标。

绝对位置移动游标位置:cursor.scroll(3,mode='absolute'),使用mode='absolute',前面的数据参数是正数,表示移动到的位置,0表示第一个,最大值为结果的长度-1,超出会报IndexError: out of range错误。

sql2="select * from t"
cursor.execute(sql2)
cursor.scroll(4,mode='absolute')
print(cursor.fetchone()) # raise IndexError("out of range")
#IndexError: out of range

python操作pymysql数据库的更多相关文章

  1. 使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  2. python 操作mysql数据库之模拟购物系统登录及购物

    python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...

  3. 【Python】使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  4. python接口自动化(三十八)-python操作mysql数据库(详解)

    简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...

  5. Python操作MySQL数据库(步骤教程)

    我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...

  6. Python操作Oracle数据库:cx_Oracle

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  7. python操作MySQL数据库报错问题解决

    编写好Python操作数据库的脚本后,运行报错如下: 报错1:“AttributeError: 'NoneType' object has no attribute 'encoding'” 解决办法: ...

  8. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  9. Python操作Access数据库

    我们在这篇文章中公分了五个步骤详细分析了Python操作Access数据库的相关方法,希望可以给又需要的朋友们带来一些帮助. AD: Python编 程语言的出现,带给开发人员非常大的好处.我们可以利 ...

随机推荐

  1. js canvas获取图片base64 dataUrl

    function getImgBase64(path, callback) { var img = new Image(); img.src = path; //图片加载完成后触发 img.onloa ...

  2. 关于HTTP协议学习(三)

    一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...

  3. tcpdump我的交叉编译(mips)

    一.libpcap交叉编译 1.下载libpcap-1.8.1(http://www.tcpdump.org/) 2.解压 3.修改configure文件 a.注释掉 #if test -z &quo ...

  4. python之str字符串

    字符串是python非常重要的数据类型,它是一个序列(列表和元组也是序列),有下标,可以通过下标遍历字符串序列:同时字符串也是一个不可变数据类型,每次使用"+"拼接字符串时都会产生 ...

  5. UnicodeDecodeError: 'ascii' codec can't decode byte 0xc7 in position 20: ordinal not in range(128)

    dict = pickle.load(open(file, 'rb')) 修改为: dict = pickle.load(open(file, 'rb'), encoding='iso-8859-1' ...

  6. centos 7安装mysql 执行./scripts/mysql_install_db --user=mysql 报错 FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper

    [root@localhost mysql]# ./scripts/mysql_install_db  --user=mysql FATAL ERROR: please install the fol ...

  7. 使用springmvc进行文件的上传和下载

    文件的上传 SpringMVC支持文件上传组件,commons-fileupload,commons-fileupload依赖commons-io组件 配置步骤说明 第一步:导入包 commons-f ...

  8. btcpool之GbtMaker

    一.简介 GbtMaker全称getblocktemplate maker,它通过getblocktemplate rpc接口从bitcoind获得挖矿所需数据,然后把该数据发送到kafka消息队列. ...

  9. 团队项目第一篇——NABCD

    团队名称: 团队项目名称: 团队口号: N(Need)需求: 现如今数据越来越零碎化,繁杂化,身为在校大学生的我们也因此对于时间的利用率也相应减少,为了时间的充分利用,减少在冗杂的信息中耽误的时间,充 ...

  10. 前端JS插件整理

    1.JQuery.js JavaScript 库,简化JS. 官网地址:https://jquery.com/ 菜鸟教程:http://www.runoob.com/jquery/jquery-tut ...