当前位置: 首页 > 编程日记 > 正文

pymsql学习笔记

pymsql学习笔记

1. 执行SQL

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
# 创建游标
cursor = conn.cursor()# 执行update,并返回收影响行数, print(effect_row)返回受影响的行数
effect_row = cursor.execute("update hosts set host = '1.1.1.2'")# 执行update,后面括号内容就是插入变量,%s,%d使用方式一样
#effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))# 执行SQL,并返回受影响行数
#effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])# 提交,不然无法保存新建或者修改的数据
conn.commit()# 关闭游标
cursor.close()
# 关闭连接
conn.close()

2、获取新创建数据自增ID

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
cursor = conn.cursor()
cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
conn.commit()
cursor.close()
conn.close()# 获取最新自增ID
new_id = cursor.lastrowid

3、获取查询数据,使用fetch来获取查询的结果

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')
cursor = conn.cursor()
cursor.execute("select * from hosts")# 获取第一行数据
row_1 = cursor.fetchone()# 获取前n行数据
# row_2 = cursor.fetchmany(3)
# 获取所有数据
# row_3 = cursor.fetchall()conn.commit()
cursor.close()
conn.close()

注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

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

4、fetch数据类型

关于默认获取的数据是元祖类型,如果想要或者字典类型的数据,即:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')# 游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
r = cursor.execute("call p1()")result = cursor.fetchone()conn.commit()
cursor.close()
conn.close()  

fetchone只选择一个执行,如果执行两次fetchone会获取下一个结果,好像迭代器一样
fetchmany选择多个执行,fechmany(3)一次拿三次
fetchall选择全部执行

cursor.scroll(-1, mode='relative')  # 相对的位置向上移动游标
cursor.scroll(2, mode='absolute')  # 绝对的位置向下移动游标


MySQL 其他注意事项:

1. syntax = NULL 这是错误的写法,正确应该为 IS NULL,作为判断

2. inter join vs outer join

posted on 2017-10-17 05:36 ecwork 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ecwork/p/7679753.html

相关文章:

UITextView高度根据内容变化

1. 添加内容变化的通知响应事件:[[NSNotificationCenter defaultCenter] addObserver:self selector:selector(textChanged:) name: UITextViewTextDidChangeNotification object:nil]; 2 实现方法 - (void)textChanged:(NSNotification *)notification{ …

一:搭建一套免费的serverless网站

因为公司需求,需要快速搭建一个公司内部能够访问的资源查看管理的 PC网站,因为没有服务器,没有后端开发,又要快速上线使用,那么 serverless 就成了我的首选方案,下面从零开始搭建。 步骤一. 准备工作 1. …

monorepo_Monorepo开发的要点

monorepoThe word monorepo is a combination between “mono”, as in the Greek word mnos (in translation, alone) and an abbreviation of the word repository. A simple concept if taken verbatim: one lonely repository. The domain is software engineering so we’…

记一次 HTTP信息头管理器使用 的重要性

今天在测试中遇到了一个问题 使用JMeter时请求相关地址参数及方法都填写正确,但是相应数据返回始终不对,例如 查看取样器结果显示 200 正常,但响应数据不符合正常的结果。 经反复检查发现问题如下: 1)没有添加HTTP信息…

手把手,教你怎样用命令行给apk签名

最近因为项目上线,要配合运营的童鞋们上传各渠道apk,其中,搜狗的渠道因为迁移问题,需要给一个他们提供的空的apk签名,然后用公司的签名文件进行签名 没办法,只能手动给apk签名,网上搜索一片均不太完善&…

uniapp富文本复制文字内容

设置样式即可 text,span,p {user-select: text;-webkit-user-select: text;}

创建react应用程序_通过创建食谱应用程序来学习在React中使用API

创建react应用程序Learn how to use external APIs with React and React Router in a full tutorial from Hamza Mirza. This tutorial shows how to create a recipe finder application in React.在Hamza Mirza的完整教程中,了解如何将外部API与React和React Rou…

dogse入门指南

dogse入门指南 Dogse作为游戏服务端引擎,目前只包含游戏服务端的核心部分,但这也是最核心的部分。它全部使用.net c#开发,充分兼顾了程序性能与代码编写的准确性与易用性,再加上以vs作为开发工具,极大的提升代码的编写…

Python maketrans() 方法

描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表。 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况)。 对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换…

二:serverless网站数据库操作

操作数据库API文档 第一篇,搭建一套免费的serverless网站 一,创建集合,进入控制台 登录腾讯云后台 打开云开发控制台 可以新建集合,新建集合后点击集合名称即可批量导入导出数据库集合的数据,还可以设置数据库访问的…

我希望支持JavaScript GraphQL实现的API

The GraphQL schema language is great! It is certainly the best way to communicate anything about a GraphQL service. No wonder all documentations now use it!GraphQL 模式语言很棒! 当然,这是传达与GraphQL服务有关的任何东西的最佳方法。 难怪…

2_Selenium对象识别

1 准备工作 firebug和firepath我们使用xpath进行元素定位,所以需要安装firefox的两个插件,帮助编写xpath html知识在编写xpath的时候,需要查看html代码,所以需要理解html知识,可以到http://www.w3school.com.cn/去自学…

Mac OS Terminal Commands

转自 : http://www.renfei.org/blog/mac-os-x-terminal-101.html Mac OS X Terminal 101:终端使用初级教程 July 29, 2012 / 编程指南最近学习苹果认证的《Mac OS X Support Essentials》教程,看到 Command Line 一节有很多实用的知识&#x…

封装一个计时器,记录页面的停留时间

在页面加载时初始化计时器&#xff0c;页面结束时取值。 效果如图&#xff1a; 下面是uniapp的代码示例&#xff1a; <template><view class"aaaacc"><view class"aaa">{{time}}</view></view> </template><scri…

ess用户名和密码_陈ess洁如何从摄影系学生转变为成功的自由职业者和内容创作者(播客)...

ess用户名和密码This week, for our last podcast episode of 2019, I got to chat with freelancer and content creator Jessica Chan - known as CoderCoder on social media - about how she got into tech and started her educational website and YouTube channel.本周&…

安装wxpython——python程序GUI图形界面使用

一、本机使用python版本 1、本机使用python版本为3.6.2&#xff0c;windows系统。 二、安装步骤 1、开始-运行-cmd 2、python3.x 需要进入python安装位置下是pip目录&#xff0c;再执行pip 命令 其中&#xff1a;python F:\Users\Administrator\AppData\Local\Programs\Python\…

ASP.NET全球化与本地化 c#多国语言的支持 (项目支持多国语言的开发)

ASP.NET 2.0及以上的开发平台&#xff0c;为全球化本地化应用程序提供了工具&#xff0c;而且实现起来非常简单。以下内容是使用c#&#xff0c;按照帮助一步步做的&#xff0c;将为初学者提供详细的实现步骤。 一 几个必要概念 &#xff08;一&#xff09; 支持全球化  由于…

promise 和 async await区别

什么是Async/Await? async/await是写异步代码的新方式&#xff0c;以前的方法有回调函数和Promise。   async/await是基于Promise实现的&#xff0c;它不能用于普通的回调函数。   async/await与Promise一样&#xff0c;是非阻塞的。   async/await使得异步代码看起来像…

mac 制作usb启动盘_如何使用Mac制作Windows 10 USB-从Mac终端构建可启动的ISO

mac 制作usb启动盘Most new PCs dont come with DVD drives anymore. So it can be a pain to install Windows on a new computer.大多数新PC不再附带DVD驱动器。 因此&#xff0c;在新计算机上安装Windows可能会很痛苦。 Luckily, Microsoft makes a tool that you can use …

作业05-继承、多态、抽象类与接口

1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口&#xff0c;Comparable&#xff0c;Comparator 1.2 尝试使用思维导图将这些关键词组织起来。 1.3 可选&#xff1a;使用常规方法总结其他上课内容。 1.接口特点&#xff1a;一个公开的界面 有统一定义的规…

炫彩流光按钮 html+css

话不多&#xff0c;先上效果&#xff1a; 简介&#xff1a; 用基础css做一个有一点炫酷的流光按钮&#xff0c;不止按钮&#xff0c;只要是盒子就行。 具体步骤&#xff1a; 1.先定义一个盒子当做按钮&#xff0c;如我就用a标签&#xff1a; <body><a href"#…

SQL取上一条, 下一条记录方法

如果我们需要取id为3的前后的1条记录. 就可以用以下方法 取上一条记录: select * from 表名 where id<3 order by id desc limit 1取下一条记录: select * from 表名 where id>3 order by id asc limit 1大小于比较 order limit 转载于:https://www.cnblogs.com/…

react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...

react中使用构建缓存In this full course from John Smilga you will learn React by building a beach resort website project. The project uses React router for routing, React context API for state management, Contentful headless CMS for data management, and Net…

R语言实战 - 基本统计分析(2)- 频数表和列联表

数据&#xff1a; > library(vcd) > head(Arthritis)ID Treatment Sex Age Improved 1 57 Treated Male 27 Some 2 46 Treated Male 29 None 3 77 Treated Male 30 None 4 17 Treated Male 32 Marked 5 36 Treated Male 46 Marked 6 23 …

随机位置显示图片不重叠前端实现详细讲解附效果图,代码可直接使用

目录先看看效果图所要实现的功能看看代码js代码讲解&#xff1a;下面看看完整代码吧小程序版本完整代码VUE版本的代码&#xff1a;先看看效果图 所要实现的功能 在页面上随机的位置显示随机大小的图片&#xff0c;并且每个图片不能重叠&#xff0c;完整实现代码。 看看代码 …

MVC缓存OutPutCache学习笔记 (一) 参数配置

OutPutCache 参数详解 Duration : 缓存时间&#xff0c;以秒为单位&#xff0c;这个除非你的LocationNone&#xff0c;可以不添加此属性&#xff0c;其余时候都是必须的。 Location : 缓存放置的位置; 该值为枚举值: None: 当被设置为None时&#xff0c;其余的任何设置将不起作…

在Mac上控制Alt Delete-如何在Macbook上打开任务管理器

It happens to the best of us: were working away on some important project, and our trusty computer freezes. Or rather, a program were in just stops responding. So what do you do?这对我们最好的人来说是偶然的&#xff1a;我们正在做一些重要的项目&#xff0c;而…

HEW MAP文件使用

参考资料转载于:https://www.cnblogs.com/iluzhiyong/p/5145396.html

算法导论九章 答案

http://blog.csdn.net/z84616995z/article/details/18840823?reload 9.3-8题&#xff1a; http://blog.csdn.net/z84616995z/article/details/18938181 9.3-9题&#xff1a; http://blog.csdn.net/z84616995z/article/details/18889535转载于:https://www.cnblogs.com/sa51718…

小程序实现瀑布流,获取图片高度分成两组数据的函数封装代码

把一个数组根据数组内部的图片的高度&#xff0c;拆分成两个数组&#xff0c;组成瀑布流数据的方法。 使用方式&#xff1a; async created() {var arr this.$mock.sssdata.data.lists;//arr 是一个数组&#xff0c;里面包含若干对象&#xff0c;对象里面有图片var myArr a…